![]() |
|
首页 │ Apache │ Linux│ Java│ MySQL│ 注册│帮助 | |||
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也是哪个表达式的结果值吗?如果不是,那代表什么意思?
以上是逻辑运算方面的,我对照手册看了半天还是无法理解,恳请得到大家的帮助,谢谢。

