php – 如何在使用PDO时设置SQL模式?
我试图设置SQL模式,我无法弄清楚如何使用PDO.我试图在
MySQL中设置传统模式,不允许无效日期.
有人可以帮忙吗?
在运行时设置sql_mode时,可以使用可选的“SESSION”变量.这样它不会影响其他客户.您可以设置SESSION sql_mode,然后在查询完成后将其设置回上一个值.通过这种方式,您可以为特定操作设置sql_mode.
从MySql手册:
我个人在我的数据库类中添加了一些方法来处理这个问题. initSqlMode()将执行查询’SELECT SESSION.sql_mode’并将默认值存储为类变量. setSqlMode()允许您将SESSION sql_mode设置为(VALIDATED)自定义值. resetSqlMode()将SESSION sql_mode设置回默认值.我总是在操作sql_mode时使用SESSION变量. 然后你可以做类似以下的事情.注意这只是伪代码;我的例子中没有任何东西可以阻止sql注入或参数化sql查询. $db = new database(); $badqueryresult = $db->executeStrict('BAD SQL QUERY'); Class database { ... function executeStrict($query){ $this->initSqlMode(); $this->setSqlMode('STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'); $result = $this->Execute($query); $this->resetSqlMode(); return $result; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |