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