Member 13783315 Ответов: 2

В PHP как написать код так чтобы он мог извлекать все данные строки если условие истинно


в php как написать код так чтобы он мог извлекать все данные строки если условие истинно иначе отображать не найденное сообщение а только один раз

Что я уже пробовал:

<?php

$res=mysqli_query($conn, "SELECT * FROM email WHERE too = '$email'");
$product_count = mysqli_num_rows ($res); 
$row=mysqli_fetch_array($res);

	
	
         
            if ($product_count > 0) {
 
                foreach ($res as $key => $row) {
                    # code...
                    if ($row['status'] == 'Delete') {
                        # code...
                        echo $row['message'];

                    }
                    else
                    {
                        echo "not found";
                    }

                }


	       }
       
    	
?>



этот код правильно отображает данные, но также отображает другую часть, и если условие не совпадает, то он отображает другую часть, равную количеству найденных строк. если строк = 4, то другая часть выполняется 4 раза. Извините за мой английский. Пожалуйста ответьте мне как можно скорее

2 Ответов

Рейтинг:
5

Richard Deeming

Переместите else блокируйте вне цикла и используйте флаг, чтобы определить, совпадают ли какие-либо записи.

$anyMatches = false;

if ($product_count > 0) {
    foreach ($res as $key => $row) {
        # code...
        if ($row['status'] == 'Delete') {
            # code...
            echo $row['message'];
            $anyMatches = true;
        }
    }
}

if (!$anyMatches) {
    echo "not found";
}


Рейтинг:
0

Patrice T

$res=mysqli_query($conn, "SELECT * FROM email WHERE too = '$email'");

Не решение вашего вопроса, а еще одна проблема, которая у вас есть.
Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь к уязвимости под названием "SQL-инъекция", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа выйдет из строя. Если пользователь вводит имя, например "Брайан О'Коннер", может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция - Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL-инъекция - руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL - OWASP[^]