• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mysql危険回避(1 OR effective))

mysql危険回避の方法とは?

このQ&Aのポイント
  • mysqlでwhere句の値に1 OR effective=0が入ると危険であり、シングルクオテーションで回避できると言われています。
  • 古い書き方(mysql_real_escape_string)は危険であるため、新しい書き方(PDOやmysqli)を使用することをおすすめします。
  • 一部の条件を満たす場合にmysql_real_escape_stringを使用する方法もありますが、必ずしも推奨される方法ではありません。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>(1)で動いていたものを(2)にしたら、動かなくなりました そういうのはprint $sqlしてみて見比べればわかりますよね? '%s' のところにシングルクォーテーション付きの文字列を入れれば クォーテーションがダブってます。 あまりお勧めできませんが、あえてやるなら元文字列のシングルクォーテーションを はずしてみればよいのでは? $sql = sprintf("SELECT id , password FROM `adminDatabase` where id = %s and password = %s order by id",$id , $password );

hayaken73
質問者

お礼

ズブの素人なので、大変ありがたいご説明助かります。 printしてチェックというのは、目からウロコでした。 そうチェックするんですね~。 また変な質問にお付き合いいただいた事に感謝です。 本当にありがとうございます。