1,因为字段验证机制存在,当where不合法时,where会自动被忽略!!这是一个严重的设计失误!首先这种传入where错误是根本不应该被悄悄忽略的,用程序继续运行掩盖了严重的后果,太失败.想一想,输入特殊字符就能跳过登录验证吧.,既然3.12提供了strict(true)抛出异常,那干嘛不直接抛出呢?
2,ThinkPHP/Library/Think/Db/Driver/Sqlite.class.php 42-43行
在sqlite3中,$val['field']是不存在的!实际上应该是$val['name']! 因为这个bug导致所有where不起作用.