谁能告诉我为什么我不能执行这个简单的脚本。如果我将这条语句复制到MySQLPHPAdmin中,得到的错误是You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1update page SET RegionId = 1 WHERE (RegionId = -1 or RegionId = -3) and Descri' at line 1,它运行得很好。请帮帮忙?提前谢谢。
$sql = "update page SET RegionId = 2 WHERE (RegionId = -1 or RegionId = -3) and Description like '%Saskatoon%' LIMIT 1";
$sql = $sql . "update page SET RegionId = 1 WHERE (RegionId = -1 or RegionId = -3) and Description like '%Regina%' LIMIT 1";
echo $sql;
mysql_query($sql) or die( mysql_error());发布于 2011-09-16 06:36:39
正在删除查询中的分号,限制%1与第二个更新查询的开头冲突。
在PHP.net mysql_query手册页面中: mysql_query()将唯一的查询(不支持多个查询)发送到与指定link_identifier关联的服务器上当前活动的数据库。
您需要使用2次对mysql_query的调用才能获得所需的结果。
发布于 2011-09-16 06:35:11
您将连接这两个$sql字符串,因此最终的$sql字符串将包含如下所示的部分:
LIMIT 1update page SET这是无效的SQL。此外,mysql_query不支持多个查询(感谢zerkms),因此您必须分别执行每个查询。
$sql = "UPDATE page SET RegionId = 2 WHERE (RegionId = -1 OR RegionId = -3) AND Description LIKE '%Saskatoon%' LIMIT 1"
mysql_query($sql) or die( mysql_error());
$sql = "UPDATE page SET RegionId = 1 WHERE (RegionId = -1 OR RegionId = -3) AND Description LIKE '%Regina%' LIMIT 1";
mysql_query($sql) or die( mysql_error());发布于 2011-09-16 06:34:47
如果1update page set …不是一个拼写错误,那么这就是错误的原因。试着找出它们来自哪里。
https://stackoverflow.com/questions/7438196
复制相似问题