运行此代码时出现此错误。
Parse error: syntax error, unexpected 'users_kudos_to_posts' (T_STRING)
代码。
if ($number > 0) {
$arr=explode(",",`$upvoted);
//If I comment out everything below I still get the error. But if I comment out
//the above code, then the error goes away.
if (in_array($primary_id, $arr)) {
array_push($arr, $primary_id);
$new_string = implode(",", $arr);
//the line below is where the parse error is pointing too.
if ($stmt2 = $mysqli->prepare("UPDATE `users_kudos_to_posts` SET `upvoted` = ?
WHERE `user_id` = ?")) {
$stmt2->bind_param('si', $new_string, $session_user_id);
$stmt2->execute();
$stmt2->close();
}
}
}
令人抓狂的是,我在同一个代码页中使用相同的sql语句有其他多个预处理语句,除了列中的更改而它们工作但实际上没有。
另外,我在phpmyAdmin中运行了sql语句并且它可以工作。
答案 0 :(得分:1)
问题在于这一行:
$arr=explode(",",`$upvoted);
你有一个不属于那里的额外反击。它应该是:
$arr=explode(",",$upvoted);
答案 1 :(得分:0)
由于StackOverflow的语法突出显示(heh),您在explode
前面的`$upvoted
语句中有额外的反引号:
$arr=explode(",",`$upvoted);