mysql中PDO參數化引號引起的Warning: PDOStatement::execute(): SQLSTATE[HY093]:報錯


sql語句之前是這樣寫的:INSERT INTO tablename SET a = ':a',b = ':b',c = ':c',d = :d,e = :e

 

$data = array

(
[':a'] => 1,
[':b'] => 2,
[':c'] => 3,
[':d'] => 4,
[':e'] => 5,
)

$prepareResualt = $pdo->prepare($sql);
$prepareResualt->execute($data);

 

出現了Warning:  PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens報錯

 

然后改成:INSERT INTO tablename SET a = :a,b = :b,c = :c,d = :d,e = :e

 

正常插入數據 ,大概是參數化語句中不需要把字符串類型的參數加上引號吧,也確實感覺有點多此一舉。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM