mysql — выводит значения из строки, если значение не пустое PHP SQL

Я пытаюсь перебрать таблицу и вывести значения из строки, только если определенное значение не пустое.

+------------------+
| значение_1 | значение_2 |
+ ------------------ +
| Тим | 56 |
+ --------- + -------- +
| Джек | |
+ --------- + -------- +
| Сэм | 33 |
+ --------- + -------- +
$result = mysql_query("SELECT value_1, value_2 FROM database");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
if (!empty($row[value_2])){
printf("First Value: %s  Second Value: %s", $row[value_1], $row[value_2] )or die($myQuery."<br/><br/>".mysql_error());
}

}

Так что в этом случае я хотел бы выложить только данные для Тима и Джека.

Если я удалю ! из оператора if, чтобы распечатать все данные там, где они пустые, это похоже на работу, однако, как только Itry и переключить его и добавить ! ничего не выводится.

0

Решение

Сделайте это в вашем запросе.

SELECT value_1, value_2 FROM database WHERE value_2 != ''

Для предоставленного вами кода это будет гораздо более простой вариант, поскольку вам придется выполнять меньше работы в PHP (вы можете просто распечатать значение).

Редактировать — исправлена ​​ошибка, упомянутая в комментарии ниже.

Измените строку printf на эту:

printf("First Value: %s  Second Value: %s", $row['value_1'], $row['value_2'] )or die($myQuery."<br/><br/>".mysql_error());

Вы пропустили кавычки вокруг значений базы данных.

0

Другие решения

Изменено $ row на целочисленные индексы массива
$row['value_1'] > $row[0]
Не самое лучшее из исправлений, но это делает работу на данный момент

0

По вопросам рекламы [email protected]