Как выполнить скрипт mysql с переменными с помощью PHP :: PDO?

Я не могу выполнить длинный скрипт, pdo выдает исключение:

SQLSTATE[HY000]: General error 

Если я отправляю скрипт, который не содержит переменных, он запускается без проблемы. Тот же скрипт работает на интерфейсе phpmyadmin.

Вот мой фрагмент кода:

  try { $dsn = "mysql:host=" . DB_SERVER . ";dbname=" . DB_DEFAULT; $db = new PDO($dsn, DB_USER, DB_PASS); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $q = $db->query($query); if (!$q) { echo $db->errorInfo(); } else { $rows = $q->fetchAll(PDO::FETCH_ASSOC); } } catch (PDOException $e) { var_dump($e); } 

Вот несколько тестов, которые не выполняются PDO:

 SET @ra_LMC:=80.9; SELECT @ra_LMC; 

Как я должен выполнить с pdo многострочные скрипты?

благодаря
Арман.

PDO не разрешает выполнение нескольких операторов в одном запросе query (). Но ваша переменная @ra_LMC должна быть видимой в текущем соединении, поэтому вы можете поместить вторую строку (SELECT) в новый запрос ().

Чтобы прочитать весь скрипт, вам нужно проанализировать файл и запустить каждый оператор с вызовом query ().

PDO может выполнять только один оператор за раз. Вы можете просто запустить SET и SELECT как два отдельных оператора. Или вы можете установить переменную с помощью FROM .

 SELECT @ra_LMC FROM (SELECT @ra_LMC:=80.9) q