Так что я был этот кусок кода PHPMysqli UPDATE SET WHERE ошибка синтаксиса
if($_POST['action']=='newComment')
{
$mysqli = new mysqli("localhost", "root", "", "nested_comment");
$new_post = $mysqli->real_escape_string($_POST['content']);
$result = $mysqli->query("SELECT @myLeft := lft FROM comment
WHERE lft = '1';
UPDATE comment SET rgt = rgt + 2 WHERE rgt > @myLeft;
UPDATE comment SET lft = lft + 2 WHERE lft >= @myLeft;
INSERT INTO comment(content, lft, rgt) VALUES('$new_post', @myLeft, @myLeft + 1);");
if($result)
echo "ok";
else
echo $mysqli->error;
}
Когда я запускаю это, выдается ошибка:
У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «Комментарий UPDATE SET rgt = rgt + 2 WHERE rgt> @myLeft; UPDATE комментарий SET»в строке 3
Но когда я поставил запрос SQL в Sequel Pro (Mac), он работает хорошо. Я попробовал решение многих других сообщений, и никто из них не работает. Что-то не так с моим синтаксисом или что-то не так с версией mysql? Большое спасибо.
Избегайте использования переменных MySQL, кроме его части процедуры. – thepratt