В настоящее время я работаю с моделью вложенного множества и прочитал статью с сайта MySQL ( Управление иерархическими данными в MySQL ).
Я получил следующий запрос напрямуюиз статьи:
LOCK TABLE categories WRITE;
SELECT @myRight := right FROM categories WHERE name = ?;
UPDATE categories SET right = right + 2 WHERE right > @myRight;
UPDATE categories SET left = lft + 2 WHERE left > @myRight;
INSERT INTO categories (name, left, right) VALUES(?, @myRight + 1, @myRight + 2);
UNLOCK TABLES;
Я использую функции PHP и MySQLi для выполнения этого оператора следующим образом:
if (false !== $stmt = $mysqli->prepare($query)) {
$stmt->bind_param('ss', 'services', 'hosting');
$stmt->execute();
$stmt->close();
} else {
echo $mysqli->error;
}
Следующий код вызывает синтаксическую ошибку:
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 'SELECT @myRight := right FROM categories WHERE name = ?; UPDATE categories SET righ' at line 3
Я надеюсь, что кто-то может помочь мне с этим.