【问题标题】:Checking if Joined Table is Empty [PHP & MYSQL]检查连接表是否为空 [PHP & MYSQL]
【发布时间】:2012-07-01 06:39:05
【问题描述】:

如何检查我的对帐单是否为空?如果 Join 不包含任何内容,则以下代码将不显示任何内容。如何让它显示我的 IF 语句的第一部分(您的待办事项列表为空!)?

<?php 

  $statement = $db->query('SELECT * FROM todo_item as ti INNER JOIN todo_category as tc ON ti.todo_id = tc.todo_id');

  if (empty($db))
  {
    echo "<p style='background-color:green;'><strong>Your To-Do List is Empty!</strong></p>";
  }
  else
    foreach($statement as $row): 
?>

【问题讨论】:

    标签: php mysql html css


    【解决方案1】:

    您可以执行 mysql_num_rows 并查看返回的行数。如果为 0,那么您的数据库中没有任何与查询匹配的内容

    【讨论】:

    • 好的,但是现在抛出这个警告:mysql_num_rows() 期望参数 1 是资源,在第 50 行的 index.php 中给出的对象?
    • 你做了mysql_num_rows($statement)吗?还是只是 mysql_num_rows() ?
    • mysql_num_rows($statement) 返回警告:mysql_num_rows() 期望参数 1 是资源,第 50 行 index.php 中给出的对象,mysql_num_rows($db) 也是如此
    • 我的意思是格式是 mysql_num_rows($query) 你把你的查询变量放在 mysql_num_rows 里面了吗?如果您仍然感到困惑see this
    【解决方案2】:

    您在使用 PDO 吗? PDOStatement::rowCount

    【讨论】:

    • 我用 $statement->rowCount() == 0 弄明白了
    • MySQL 是一个数据库引擎,您可以在 PHP 中使用 mysql、mysqli 和 PDO 驱动程序来访问数据库,如果我没记错的话 mysqli_stmt 不能被迭代。 | @John Ayers:我很高兴。 :-)
    【解决方案3】:

    试试@mysql_num_rows($statement);

    另一种计算行数的方法是使用 $row = mysql_fetch_row($statement); $records = $row[0];

    【讨论】:

      猜你喜欢
      • 2021-08-17
      • 1970-01-01
      • 1970-01-01
      • 2019-05-05
      • 2020-11-07
      • 1970-01-01
      • 1970-01-01
      • 2012-02-21
      • 2021-05-12
      相关资源
      最近更新 更多