为什么这个sql查询会产生这个错误?
$sql_categorybooknumber = "SELECT SUM(items_counter)
FROM categories
WHERE category_id = '$categoryid' ";
错误是
You have an error in your SQL syntax
'SELECT SUM(items_counter) FROM categories WHERE category_id = '426' WHER' at line 1
categoryid在这里定义
elseif ( preg_match($regexComputerProgramingkeyword1, $itemtitle)
or preg_match ($regexComputerProgramingkeyword2, $itemtitle)
or preg_match($regexComputerProgramingkeyword1, $productsgroupmessage)
or preg_match($regexComputerProgramingkeyword2, $productsgroupmessage))
{
$categoryid = '426';
}
答案 0 :(得分:0)
我认为你不需要$category_id
左右的引文。这是一个数值吗?
答案 1 :(得分:0)
我猜测category_id
是INT
值。单引号在SQL中分隔字符串,因此它试图查找只有整数的字符串,从而查找错误。试试这个问题:
SELECT SUM(items_counter) FROM categories WHERE category_id=$categoryid
此外,当您声明$categoryid
时,请执行此操作(请注意缺少引号):
$categoryid = 426;
如果不起作用,请确保items_counter
为numeric field。
作为旁注,将变量直接放入SQL查询是一个真正糟糕的想法。阅读PDO,这太棒了。
答案 2 :(得分:0)
你的错误说'WHER'这意味着你以某种方式重写了where子句,确保你没有在你的MySQL语句中添加其他子句,检查你的代码。