medoo數據庫插入的問題


今天遇到疾行客同學提出的medoo insert方法不能插入數據庫問題,我測試了一下 發現是可以的

而INSERT INTO "t_user" (username) VALUES ('test'); 這條語句總是無法執行,而medoo總是會幫你把數據庫的表加上雙引號 但是在命令行中無法執行。后來我搞不懂為啥medoo可以執行,發現了一個問題

SET SQL_MODE=ANSI_QUOTES 在起作用 

我們整體是用insert方法插入 而這個方法在833行

$this->exec('INSERT INTO ' . $this->table_quote($table) . ' (' . implode(', ', $columns) . ') VALUES (' . implode($values, ', ') . ')');

方法調用exec方法執行sql,而exec方法在 183行核心代碼是

$this->pdo->exec($query);

核心是靠$this->pdo來完成,那么這個東西如何定義的呢

在137行定義賦值

而commands變量是需要執行的,起源於

這樣就給鏈接設定了SQL_MODE

命令行演示效果如下


免責聲明!

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



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