ホームページ >バックエンド開発 >PHPチュートリアル >このクエリ ステートメントの論理演算をどのように理解すればよいでしょうか?

このクエリ ステートメントの論理演算をどのように理解すればよいでしょうか?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-13 13:42:06878ブラウズ

このクエリ文の論理演算はどのように理解すればよいでしょうか?
SELECT abcd FROM `goods` AS g WHERE is_delete = 0 AND is_alone_sale = 1 AND ( 1 AND cat_id IN ( '8 ', ' ') AND (0 OR Goods_name LIKE '% Advanced Business% ' OR Goods_sn LIKE '% Advanced Business% ' OR キーワード LIKE '%Advanced Business% ' ) ) OR Goods_id IN ( ' ') ORDER BY Goods_id DESC

上記のクエリ ステートメントはエラーなしで実行されます。ここで AND (1 in 1. 後) を削除します。このように実行すると、次の SQL ステートメントが出力されます:
SELECT abcd FROM `goods` AS g WHERE is_delete = 0 AND is_alone_sale = 1 AND ( AND cat_id IN ( '8 ', ' ') AND (0 OR Goods_name LIKE ' %Advanced Business% ' OR Goods_sn LIKE '%Advanced Business% ' OR キーワード LIKE '%Advanced Business% ' ) ) ) OR Goods_id IN ( ' ') ORDER BY Goods_id DESC

AND ( ここ、ここ元の関数には 1 がありませんが、実行時にエラーが発生します。プロンプトは次のとおりです:
致命的なエラー: search.php の 278 行目で非オブジェクトのメンバー関数を呼び出します

この 1 を削除して実行する方法がわかりません。これは無効です。 ここでの 1 は、is_delete = 0 AND is_alone_sale = 1 という 2 つの式の結果の値ですか。私の理解が間違っている場合は、修正してください。

また、AND (ここで 0 ですが、ここでの 0 はどの式の結果の値でもありますか? そうでない場合、それは何を意味しますか?

上記は論理演算に関するものです。マニュアルを長い間読んでも理解できないので、助けてください、ありがとう

-----解決策----------- ------- --
もちろん、これには括弧があります!
括弧内は
AND cat_id IN ( '8 ', ' ') AND ( 0 OR Goods_name LIKE '%Advanced Business% ' OR Goods_sn LIKE '%Advanced Business% ' OR キーワード LIKE '%Advanced Business% ' )
このステートメントは正しいですか?
おそらく SQL パーサーは、次の AND が正しいと考えていますか? begin は関数なので、エラーが発生しました。 1 それは必須です!
------解決策----------------------
...
あなたはそうしません論理式は a と b であることがわかります。 。 。 。 。
もちろん、a と b を b と書くと間違いになります。 。 。
1の後のandを削除するだけです。 。 。
めまいがする。 。 。
1 と 。 。 。 。 この書き方はsql文の組み合わせの便宜のためです
andの先頭に1(true)を与えて、その後はand a1とa2の条件を続けて追加していきます。 。 。フォームが生成されました。
著者は、基本的な知識を復習するためにプログラミング言語の本を見つける必要があります。 。 。

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