SQL或不返回所有行

时间:2015-11-18 13:55:12

标签: php mysql phpmyadmin

我有可能是最愚蠢的问题 我正在使用phpmyadmin,当我使用OR查询表时,它不会返回所有值 这是不返回所有值的查询:
SELECT * FROM ecrdatabase.ecrtable m WHERE m.ecrChangeOwner = '$partialOwner' OR m.ecrInitByName = '$partialOwner'
在此处,$partialOwner$_GET['user']传递 返回一些行 - 只是不是全部。我有一个查询数据库的php页面,我尝试使用查询通过phpmyadmin直接在数据库上运行查询:
SELECT * FROM ecrtable WHERE ecrChangeOwner = 'ecunningham' OR ecrInitByName = 'ecunningham'

直接查询和php页面的结果都返回相同的行数 我也尝试过:
SELECT * FROM ecrtable WHERE (ecrChangeOwner = 'ecunningham' OR ecrInitByName = 'ecunningham')

我错过了什么?我有更复杂的查询运行正常。请告诉我,我只是错过了一些愚蠢的事......

1 个答案:

答案 0 :(得分:1)

真的应该在这里使用预备语句,首先。你对注射攻击持开放态度。

其次,您如何知道此查询不会返回所有行?你做了什么查询来验证这个是错的?

如果你经营一个工会,你会得到什么:

SELECT * FROM ecrtable WHERE ecrChangeOwner = 'ecunningham'
UNION ALL
SELECT * FROM ecrtable WHERE ecrInitByName = 'ecunningham')