我正在通过 textarea 将图像文件名传递给 php 脚本,以查找有关 mysql db 中每个图像的信息。问题是我试图输出在 mysql db 中找不到的那些图像文件名,并通知用户哪些图像文件名未在 mysql db 中找到mysql。我当前的代码无法在 db 中输出那些丢失的记录,但它正确输出了有关在 db 中找到的那些图像的信息。谁能告诉我我做错了什么?

foreach ($lines as $line) {


$line = rtrim($line);


$result = mysqli_query($con,"SELECT ID,name,imgUrl,imgPURL FROM testdb WHERE imgUrl like '%$line'");



 if (!$result) {
             die('Invalid query: ' . mysql_error());
            }
//echo $result;

  if($result == 0)
    {

       // image not found, do stuff..
      echo "Not Found Image:".$line;
    }



while($row = mysqli_fetch_array($result))
  {
  $totalRows++;

  echo "<tr>";
  echo "<td>" . $row['ID'] ."(".$totalRows. ")</td>";
  echo "<td>" . $row['name'] . "</td>";
  echo "<td>" . $row['imgPURL'] . "</td>";
  echo "<td>" . $row['imgUrl'] . "</td>";  echo "</tr>";


}

};

echo "</table>";

echo "<br>totalRows:".$totalRows;

最佳答案

您可以在 mysqli 中使用 mysqli_num_rows()

if(mysqli_num_rows($result) > 0){

    while($row = mysqli_fetch_array($result))
    {
        $totalRows++;

        echo "<tr>";
        echo "<td>" . $row['ID'] ."(".$totalRows. ")</td>";
        echo "<td>" . $row['name'] . "</td>";
        echo "<td>" . $row['imgPURL'] . "</td>";
        echo "<td>" . $row['imgUrl'] . "</td>";
        echo "</tr>";
    }
} else {
    echo "<tr><td colspan='4'>Not Found Image:".$line.'</td></tr>';
}

关于php - 如何使用php检查mysql查询是否没有返回结果(未找到记录)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20063068/

10-11 03:19
查看更多