読み方プロトコル

mysql_real_escape_string()

まいえすきゅーえるりあるえすけーぷすとりんぐ

大まかな意味

PHPの関数。
mysql_query()からSQL文を送信する時、
外部からの文字列をそのまま連結して送信すると、
SQLインジェクションが成立してしまう。
その対策として、SQL文で特殊な意味を持つ記号を無効化(エスケープ)して返す関数。

適当な使用例

どうでもいいけれど、htmlspecialchars()といい、エスケープ系は関数名が長すぎる。

	$no = 1;
	
	// GETやPOST送信からのデータには、
	// 悪意のコードが送られてくる可能性も。
	if(isset($_GET["no"])){
		$no = mysql_real_escape_string($_GET["no"]);
	}
	$sql = "SELECT * FROM table_name WHERE no=" .$no;
	$query = mysql_query($sql);
	
	while($record = mysql_fetch_row($query)){
		print implode(",",$record) ."<br />" .PHP_EOL;
	}

コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です