回答
使用mysqli_num_rows()
检查是否有任何结果:
$conn = mysqli_connect($host, $user, $password, $database);
$priorityincidentsQ = mysqli_query($conn, "SELECT * FROM applications WHERE pi >= ('2') ");
if (mysqli_num_rows($priorityincidentsQ) > 0){
while ($priorityincidentsR = mysqli_fetch_object($priorityincidentsQ)) {
echo "<tr><td class=\"closedcallscell\"><b>$priorityincidentsR->application_friendly_name</b></td>";
echo "<td class=\"closedcallscell table_row_small\"><center>$priorityincidentsR->pi</center></td></tr>";
}
}else{
echo "<tr><td class=\"closedcallscell centered\"><b>Nothing to display</b></td></tr>";
}
是的,最好使用mysqli_*
功能,而不是mysql_*
。
仍似乎无法得到这个工作。 – MatthewBryce
有什么不对吗? – mitkosoft
它似乎是如果总是评估为真......我怀疑它以某种方式将0视为假。 – MatthewBryce
仍然没有想出为什么这样做对我来说不会这样,我直接在SQL工作台中试着查询,一切看起来应该如何,我最终解决了这个问题。
<!-- priority incidents-->
<?php
$priorityincidentsQ = mysql_query("SELECT * FROM applications WHERE pi >= ('1') ");
while($priorityincidentsR = mysql_fetch_object($priorityincidentsQ))
{
echo "<tr><td class=\"closedcallscell\"><b><a href=\"".DIR."?p=$priorityincidentsR->pageID\">$priorityincidentsR->application_friendly_name</a></b></td>";
echo "<td class=\"closedcallscell table_row_small\"><center>$priorityincidentsR->pi</center></td></tr>";
}
?>
<!-- if no incidents-->
<?php
$incidentNumberofRowsQ = mysql_query("SELECT COUNT(*)numberofrows FROM applications WHERE pi >= ('1') ");
while($incidentNumberofRowsR = mysql_fetch_object($incidentNumberofRowsQ))
{
if ($incidentNumberofRowsR->numberofrows == '0')
{
echo "<tr><td class=\"closedcallscell centered\"><b>Currently no priority incidents</b></td>";
}
}
?>
看起来似乎是一个相当愚蠢的方式去做,但至少它的作品。感谢所有的帮助。 :)
- 1. 如果[MYSQL查询]为真然后Echo
- 2. Echo 0为Mysql查询没有结果
- 3. Echo占位符,如果字段为空
- 4. PHP:空/空,如果逻辑查询
- 5. 如果Else查询为空
- 6. MySQL查询和PHP的echo
- 7. 如果MySQL的值为空echo,否则echo?
- 8. 在php中为空的查询结果
- 9. SELECT CONCAT查询的echo结果?
- 10. “加入”查询的ECHO结果
- 11. 如何检查查询结果为空
- 12. Echo PHP结果
- 13. 带查询结果的PHP查询显示为空
- 14. Ajax成功,如果语句和echo mySQL查询结果
- 15. 查询结果为空?
- 16. 空查询结果
- 17. 如何控制,如果查询的结果为空或空
- 18. 如果查询为空,则显示0
- 19. SQL查询如果参数为空
- 20. Android RxJava空间查询结果为空
- 21. 查询结果为空结果
- 22. PHP检查,如果数组为空
- 23. 如果一个子查询为空,则Mysql查询返回空值
- 24. 检查php mysql查询结果列是否为空
- 25. MDX查询 - 0,如果空
- 26. PHP如果查询不正确行为
- 27. PHP如果声明为MySQL查询
- 28. C#LINQ查询组通过检查,如果结果为空
- 29. MySQL查询结果空白
- 30. PHP echo添加空格
[**'mysql_ *'已弃用,不再包含在PHP中](http://stackoverflow.com/questions/13944956/the-mysql-extension-is-deprecated-and-will-be -removed-在最未来 - 使用 - 库MySQLi)**。 – Ben
你尝试var_dump priorityincidentsR值吗? – rikpg
执行代码后,表格显示的是什么?从理论上讲,如果你的结果因为while循环的条件而没有返回任何行,你的if语句将永远不会运行。如果没有行,那么'mysql_fetch_object()'不会被评估为true。如果您甚至完全看到if语句的结果,那么在查询中必定会有错误。 – shamsup