【问题标题】:Mysqli query working in phpmyadmin but not on scriptMysqli 查询在 phpmyadmin 中工作但不在脚本上
【发布时间】:2014-09-07 08:41:06
【问题描述】:

我的 mysql 查询是 SELECTing 所有与 phpMyAdmin 中的查询匹配的行(119 行),但在涉及 php 脚本时只选择了几个(6 行)。 这是我的 phpMyAdmin 代码:

SELECT * FROM  Query WHERE status=0 && category!='edu' ORDER BY qtime ASC

这就是我在脚本中使用的

$sql= mysqli_query($con,"SELECT * FROM  Query 
        WHERE status=0 && category!='edu' ORDER BY qtime ASC");
echo mysqli_num_rows($sql); //which is giving 6 always

所以,显然连接很好,运行查询没有错误。现在,我无法弄清楚实际上出了什么问题。感谢您的帮助!

【问题讨论】:

  • 您连接到正确的数据库了吗?你有没有三次检查过是这样的吗?
  • 是的,我检查了很多次,很明显是对的,不连接数据库,怎么可能拉6行!
  • @Vishwa:有时程序员有一个测试数据库和一个实时数据库。如果您是这种情况,您确定您的两个示例都连接到 same 数据库吗?
  • 不,我没有使用任何测试数据库。我在服务器上只有一个数据库,有几个表。
  • @Vishwa - 尝试删除 WHERE,看看你得到了多少 - 这与你在数据库中看到的相符吗?

标签: php mysql sql mysqli phpmyadmin


【解决方案1】:

也许这可以解决您的问题:

`SELECT * FROM  Query WHERE status IN(0) AND category!='edu' ORDER BY qtime ASC;`

【讨论】:

  • 谢谢@Angel。现在从 6 行增加到 9 行。但是,这个数字仍然太低了。还有其他想法吗?
  • 尝试将数据库中的 STATUS 类型更改为布尔值,因为您只使用 1 和 0,否则使用 '',还尝试在类别中使用 IN(这可能是一个较长的代码,因为您必须将所有可能的值。
  • 最后,很明显问题不在于 0 和 1。我已将其更改为布尔值,但仍然得到相同的结果。现在,问题显然出在status
猜你喜欢
  • 2023-04-05
  • 1970-01-01
  • 2013-03-14
  • 2019-02-09
  • 2017-08-16
  • 1970-01-01
  • 2015-05-17
  • 2018-07-19
  • 2018-06-19
相关资源
最近更新 更多