[英]How to execute mysql script with variables using 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()調用中。
要讀取整個腳本,您必須解析文件並通過調用query()來運行每個語句。
PDO一次只能執行一個語句。 您可以將SET
和SELECT
作為2個單獨的語句運行。 或者您可以使用FROM
設置變量。
SELECT @ra_LMC FROM (SELECT @ra_LMC:=80.9) q
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.