Thinkphp 链接MSSQL where条件丢失问题

输出错误代码

SELECT T1.* FROM (SELECT thinkphp.*, ROW_NUMBER() OVER ( ORDER BY rand()) AS ROW_NUMBER FROM
(SELECT * FROM ubo_user WHERE ( username = '' )) AS thinkphp) AS T1 WHERE (T1.ROW_NUMBER BETWEEN 1 AND 1)

where中的查询条件丢失,username的查询条件输入是admin

最终检索到的问题是PHP环境中magic_quotes_gpc = Off(主要还是thinkphp存在问题,不兼容magic_quotes_gpc = Off情况)。

在tp的Db.class.php中 public function escapeString($str){…}引用到get_magic_quotes_gpc(),

             get_magic_quotes_gpc获取当前 magic_quotes_gpc 的配置选项设置(注意:如果 magic_quotes_gpc 为关闭时返回 0,否则返回 1。在 PHP 5.4.O 起将始终返回 FALSE。因为这个魔术引号功能已经从 PHP 中移除了 )

分享到:

发表评论

沙发空缺中,还不快抢~