当前位置: 首页 > 知识库问答 >
问题:

PHPnum_rows不工作

耿建弼
2023-03-14

我试图得到我的数据库中的行数。如果行数大于0,脚本需要回声

但脚本不起作用。

当行数为1时,我得到

有人知道哪里出了问题,我该如何解决吗?

这是我的剧本:

$sql = "SELECT id FROM table WHERE status='1' ";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    echo    "<p>1 or more</p>";
  }                   
} else {

  echo "<p>0</p>";
}
$conn->close();

共有3个答案

苏品
2023-03-14

第一:如果query执行失败意味着它将返回简单的booleanfalse,因此您无法从该boolean值中获取num\u rows

下面的代码将帮助您。

$sql = "SELECT id FROM table WHERE status='1' ";
    if($result = $conn->query($sql))
    {
       if ($result->num_rows > 0) 
       {
              echo    "row count is :".$result->num_rows;                  
        } 
        else 
        {
               echo "query execution success but there is no match result ";
        } 
    }
    else
    {
         echo "query execution failed";
         echo $conn->error; 
    }

注意:在查询中,您需要指定正确的表名,而不是表关键字

"SELECT id FROM table_name WHERE status='1' "
方季同
2023-03-14

你的代码看起来不错。只要尝试响应结果,就可以准确地知道显示了多少结果。我怀疑你的结果正在检索0个结果。

请参见此处的W3教程

    $sql = "your query here";
$result = mysqli_query($conn, $sql);

if(mysqli_num_rows($result) > 0) {
    echo "1 or more";
} else {
    echo "0";
}
胥英奕
2023-03-14

若您使用的是mysqli,那个么num_行应该可以工作,但若您使用的是prepared语句,那个么这将不起作用。如果不打印从表中获得的结果,则无需获取表。如果查询成功,则num_行将正常工作。在$result上打印\r,如果存在数组,则num\u行将起作用。否则,请尝试使查询可执行。

    $sql = "SELECT id FROM table WHERE status='1' ";
    $result = $conn->query($sql);

       if ($result->num_rows > 0) {
              echo    "<p>1 or more</p>";                  
        } else {

               echo "<p>0</p>";
        }
       $conn->close();

我建议您使用准备好的语句阅读更多关于准备好的语句这里

 类似资料:
  • 我想在菜单栏文本被选中时更改它的颜色。 这里可能出了什么问题? 我尝试使用伪类':active',但没有得到应用。其中as':Hover'正在工作。 我还尝试使用'Router LinkActive',它应该添加类'Active-Link',但这也不起作用。 我在下面给出了HTML、SCCS和TS代码:

  • 我编写了一组简单的类,向一位朋友演示如何为AOP(而不是xml配置)使用注释。我们无法使@ComponentScan工作,并且AnnotationConfigApplicationContext getBean的行为也不正常。我想明白两件事。请参阅下面的代码: PersonOperationSI.java PersonOperations.java PersonOperationsConfigCl

  • 我正在Eclipse Neon中使用Hibernate工具(JBoss tools 4.4.0.Final)。现在,我想将数据库表反向工程为POJO对象和Hibernate映射文件。 我遵循了一些关于如何设置Eclipse来生成POJO对象的教程。在我运行配置之前,一切看起来都很好。什么都没发生,也没有抛出错误。有人能帮我吗?数据库是一个微软SQL服务器2014。 我的逆向工程配置文件看起来像:

  • 我正在尝试使用codeigniter insert\u batch将多行插入到我的数据库表中。根据错误报告,似乎没有设置表列。只是阵列的数量: 我的看法是: 我的控制器: 和型号:

  • 我尝试使用StreamWriter.WriteLine(不是静态地)将几行代码一次写到。txt文件中。 每个播放器对象都是字符串cosnatants。如果我使用不同的文件名(也称为BasicTestInfo2.txt),它会在bin.debug中创建该文件,但它是空的。我知道我到达了using块的内部(我在里面放了一个console.writeline),我知道我想要截断,这就是为什么我对appe