Heim >Backend-Entwicklung >PHP-Tutorial >mysql_query()中的sql语句好像不能带括号。

mysql_query()中的sql语句好像不能带括号。

WBOY
WBOYOriginal
2016-06-23 14:13:141641Durchsuche

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] and pri is NULL  or nam ".$_POST[select3]." $_POST[nam] and cat ".$_POST[select0]." $_POST[cat] and 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] and cat ".$_POST[select0]." $_POST[cat] and sha ".$_POST[select1]." $_POST[sha]) and (pri is NULL  or pri is NOT NULL)");
就是
 $rs= mysql_query("(...) and (...)");
你说这样对吗?

就是这样!

while($rst = mysql_fetch_row($rs)){
加了括号后此行程序报错

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in E:\apache\htdocs\chashi2.php on line 329

就是这样!???
语法都不对了,还不报错吗?

恕我眼拙
我知道语法肯定错了
只是不知道哪里错了

所有的sql指令都必须以 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]) and (pri is NULL  or pri is NOT NULL)");
我把括号位置改变后成功了。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn