Я передаю имена файлов изображений через textarea в php-скрипт, чтобы найти информацию о каждом изображении в 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_num_rows()
в mysqli
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>'; }
Вы хотите использовать mysqli_num_rows
if(mysqli_num_rows($result)) { // Do your while loop here }
Используйте mysqli_num_rows
для сравнения количества строк в наборе результатов.