Инструкция PHP sql, которая завершается ошибкой в скрипте, но работает на производственном сервере

#php #mysql

#php #mysql

Вопрос:

Я создаю веб-сайт, и я протестировал этот оператор sql на рабочем сервере, и он работает, ошибок нет, и возвращает правильные результаты. Но когда я выполняю его через php, он сообщает мне, что у меня ошибка.

 $query = "SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
    select r.id, r.name from recipes r inner join fav5 f on r.id=f.recipeid where   f.memberid='$id'";
  

Это ошибка при использовании в php-скрипте:

У вас ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с ‘select r.id , r.name из recipes r внутреннее соединение fav5 f в r.id=f.recipeid где f.’ в строке 2

Что, черт возьми, происходит!

Ответ №1:

Не удается использовать разделители (;) в sql из php

Это проблема безопасности, по одной строке за раз.

Комментарии:

1. Я предполагаю, что я не могу принять ответ за 8 минут в соответствии с Stack Overflow, но я только что попробовал это, и это сработало! Ты лучший!!!! Я приму это как ответ, когда это позволит мне 🙂

Ответ №2:

Я предполагаю, что вы используете mysql_query() для выполнения SQL. Если это так, то эта функция не поддерживает множественные запросы.

Вам нужно будет использовать mysqli_multi_query().

Комментарии:

1. К вашему сведению, на многих серверах не установлено расширение mysqli с php. Если вы не можете заставить это работать, это, вероятно, проблема.