我知道有很多像这样的问题,但它们似乎都没有用,我找不到我的语法错误!
mysql_query("SELECT `type` FROM `poststuff` WHERE `post_id` = 7 AND `user_id` = 1");
任何帮助都会很棒! (顺便说一下,标题上有错误) 完整代码(适合你的人 - , - )
function update_post($post_id, $user_id) {
$result = mysql_result(mysql_query("SELECT `type` FROM `poststuff` WHERE `post_id` = $post_id AND `user_id` = $user_id"), 0) or die(mysql_error());
if ($result !== null) {
if ($result === "no" ) {
$actual_count = mysql_result(mysql_query("SELECT `$result` FROM `posts` WHERE `post_id` = $post_id"), 0);
mysql_query("UPDATE `posts` SET `$actual_count` = $actual_count+1 WHERE `post_id` = $post_id AND `type` = 'no'");
}
答案 0 :(得分:2)
您发布的SQL文本中似乎没有问题。我们建议您确认它是 AND
关键字之前的有效空白字符。
根据错误消息,我怀疑查询中的AND
关键字前面有一个无效字符。
如果您运行的查询在AND
关键字前面有逗号或其他非空白字符,则会出现这种错误。
例如,运行此查询:
SELECT `type` FROM `poststuff` WHERE `post_id` = 7,AND `user_id` = 1
^
会导致出现错误:
... error in your SQL syntax; ... near 'AND `user_id` = 1'
如果在等号后面没有值,则只会报告相同的错误,并且只有空格。例如,以下查询将返回相同的错误:
SELECT `type` FROM `poststuff` WHERE `post_id` = AND `user_id` = 1
^