Home > Backend Development > PHP Tutorial > 这条查询语句的逻辑运算应该怎么理解

这条查询语句的逻辑运算应该怎么理解

WBOY
Release: 2016-06-13 10:00:36
Original
965 people have browsed it

这条查询语句的逻辑运算应该如何理解?
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   '%高级商务% '   OR   goods_sn   LIKE   '%高级商务% '   OR   keywords   LIKE   '%高级商务% '   )   )   OR   goods_id   IN   ( ' ')   ORDER   BY   goods_id   DESC

上面的这条查询语句运行无错,我现在去掉AND   (1中的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   '%高级商务% '   OR   goods_sn   LIKE   '%高级商务% '   OR   keywords   LIKE   '%高级商务% '   )   )   OR   goods_id   IN   ( ' ')   ORDER   BY   goods_id   DESC

请看AND   (   这儿,这儿比原来的少了1,但运行出错了,提示如下:
Fatal   error:   Call   to   a   member   function   on   a   non-object   in   search.php   on   line   278

想不通去掉了这个1运行就无效了,这里的1是不是is_delete   =   0   AND   is_alone_sale   =   1这两个表达式的结果值?如果我的理解不对,请大家纠正一下。

还有,AND   (0这儿,这里的0也是哪个表达式的结果值吗?如果不是,那代表什么意思?

以上是逻辑运算方面的,我对照手册看了半天还是无法理解,恳请得到大家的帮助,谢谢。

------解决方案--------------------
当然了,这个有括号啊!
括号里面的是一个整体
AND cat_id IN ( '8 ', ' ') AND (0 OR goods_name LIKE '%高级商务% ' OR goods_sn LIKE '%高级商务% ' OR keywords LIKE '%高级商务% ' )
这样的语句对吗?
或许 SQL 解析器认为 开头的AND 是个 函数 故而出现了那样的错误,1 是必不可少的!
------解决方案--------------------
...
你不会不知道逻辑表达是 a and b 吧。。。。。
你把 a and b 写成 and b 当然会错。。。
你再把1后面的and去掉就好了。。。
晕。。。
1 and 。。。。 这个写法仅仅是为了sql语句组合的方便
与的开始给个1 (true) ,后面的就可以 and a1 and a2 的不断加条件了。。。表单生成的。
楼主应该找任意一本编程语言书再温习一下基础知识。。。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template