Проблемы с несколькими вставками MySQL
Я создаю простой CMS, и я пытаюсь автоматически создать дополнительный в базе данных, когда пользователь регистрируется. Код работал нормально, с первой строкой вставки, но как только я добавил вторую, он перестал работать. Я получил эту структуру кода от Stackru, и я посмотрел на других сайтах, и она кажется правильной, но я не могу понять, в чем дело. Какие-либо предложения?
$registerquery = mysql_query("BEGIN
INSERT INTO users (Username, Password, EmailAddress)
VALUES ('".$username."', '".$password."', '".$email."')
INSERT INTO pages (page_title, page_owner)
VALUES ('My New Page', LAST_INSERT_ID())
COMMIT");
1 ответ
Вы не можете выполнить два запроса в одном вызове query() с драйвером MySQL в PHP. Это мера безопасности против определенных форм атак SQL-инъекций, к которым ваш код уязвим (если вы ранее не выполняли mysql_real_escape_string() или подобное).
Вы также пропускаете ;
разделить два запроса.
Синтаксис нескольких запросов
query1; query2; query3; etc...
Вы в основном получили
query1 query2
что просто синтаксическая ошибка.