SQLselectステートメントで列の特殊文字をエスケープする方法。
そのsqlselectステートメントがあり、列account_nameに特殊文字を含む値があります。これらの特殊文字をエスケープしないため、エラーが発生します。
select * from account where account_name ='$account_name'
MySQL拡張コマンドは使用しないでください。これらは廃止されており、推奨されなくなりました。
PDOと準備されたアタテメントを使用します。
$name = '$somethingHere';
$stmt = $db->prepare("Select * from account where account_name = :name");
$stmt->bindValue(':name', $name, PDO::PARAM_STR);
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
関数を使用mysql_real_escape_string($account_name)
します。