ホームページ >バックエンド開発 >PHPチュートリアル >mysql_query() の SQL ステートメントには括弧を含めることはできないようです。

mysql_query() の SQL ステートメントには括弧を含めることはできないようです。

WBOY
WBOYオリジナル
2016-06-23 14:13:141641ブラウズ

SQL

$rs= mysql_query("select * from cxjb2 where nam ".$_POST[select3]." $_POST[nam] and cat ".$_POST[select0]." $_POST[cat] and sha ". $_POST[select1]." $_POST[sha] および pri が NULL または nam ".$_POST[select3]." $_POST[nam] および cat ".$_POST[select0]." $_POST[cat] および sha ".$_POST[select1]." $_POST[sha]");

上記のステートメントは実行できます。

$rs= mysql_query("(select * from cxjb2 where nam ".$_POST[select3]." $_POST[nam] and cat ".$_POST[select0]." $_POST[cat] and sha ".$ _POST[select1]." $_POST[sha]) and (pri is NULL or pri is NOT NULL)");

同じ論理関係をこのステートメントに変換すると、正常に実行できません。

アドバイスをください





ディスカッションに返信(解決策)

$rs= mysql_query("(select * from cxjb2 where nam ".$_POST[select3]." $_POST[ nam ] および cat ".$_POST[select0]." $_POST[cat] および sha ".$_POST[select1].") および (pri が NULL または pri が NULL ではない)");

$ rs= mysql_query("(...) と (...)");
これは正しいと思いますか?

以上です!

while($rst = mysql_fetch_row($rs)){
かっこを追加した後、プログラムはエラーを報告します

警告: mysql_fetch_row(): 指定された引数は、E:apachehtdocscbashi2.php の 32 9 行目で有効な MySQL 結果リソースではありません

以上です! ???
構文が間違っています。エラーを報告してみてはいかがでしょうか?

目が悪くてすみません
構文が間違っているのはわかっています
どこが間違っているのかわかりません

すべての SQL 命令は SQL コマンド単語で始める必要があります

わかりました アドバイスありがとうございます

$ rs= mysql_query( "select * from cxjb2 where (nam ".$_POST[select3]." $_POST[nam] および cat ".$_POST[select0]." $_POST[cat] および sha ".$_POST[select1] ]." $ _POST[sha]) and (pri is NULL or pri is NOT NULL)");
括弧の位置を変更したら成功しました。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。