【发布时间】:2016-02-20 07:09:09
【问题描述】:
我遇到了可能是最愚蠢的问题。
我正在使用 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').
我错过了什么?我有更复杂的查询运行良好。请告诉我,我只是错过了一些愚蠢的东西......
【问题讨论】:
-
直接查询和php页面的结果都返回相同的行数。那有什么问题呢?
-
@Manu 他们都错了。正确的行数应该是 119,但两者都只返回 97。如果我单独运行查询,“SELECT * FROM ecrtable WHERE ecrInitByName”会返回 32 行。 'SELECT * FROM ecrtable WHERE ecrChangeOwner' 返回 87 行。
-
您知道,当条件1 和条件2 匹配一行时,两个查询都可以返回双精度值……最后一个查询返回查询1 和查询2 中的所有数据,但没有双精度值。
-
@Manu 就是这样。这很有道理。
-
我没想到
标签: php mysql phpmyadmin