mysql-php count с условием if

Мне понадобится ваша помощь со следующим кодом.

Если нет билетов с prio_id 5, он должен отображаться «хорошо», а когда есть один или несколько билетов с более высоким приоритетом, это должно быть изображение, отображаемое

<?php
$alert = mysql_query("SELECT count(tn) AS Prio-Tickets FROM ticket where ticket_state_id = 1 AND ticket_priority_id = 5;");
while ($row = mysql_fetch_object($alert))
{
if ($row->Prio-Tickets = 0 )
{
echo 'OK';
}
else
{
echo '<img src="alert.gif"/>'
}
}
?>

0

Решение

Ты сейчас назначение с одним = знак вместо Сравнение с ==

делать if ($row->Prio-Tickets == 0 )


Редактировать:

Ссылаться на spencer7593ответ относительно псевдонима, который вы используете.

1

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

Мы ожидаем, что оператор SQL, который вы запускаете, выдаст ошибку 1064 В синтаксисе SQL есть ошибка из-за символа дефиса в псевдониме столбца.

Но, вероятно, вы не видите эту ошибку, потому что вы не проверяете, был ли запрос успешным.

Чтобы использовать символ тире в идентификаторе, вам нужно будет «экранировать» идентификатор; Обычный шаблон в MySQL — заключать идентификатор в символы обратной галочки или использовать идентификатор, который не требует экранирования.

SELECT foo AS `Prio-Tickets` ...

SELECT foo AS prio_tickets ...

Хорошей практикой является проверка возврата от запроса и надлежащая обработка ошибки, а не то, чтобы ваш код поместил его изобразительный мизинец в угол его рта. Стиль доктора Зла «Я просто собираюсь предположить, что все пошло по плану . Какие?»

Поскольку интерфейс mysql устарел (и новая разработка должна использовать интерфейс mysqli или PDO), я не собираюсь приводить пример использования интерфейса mysql; Есть много примеров, уже доступных в другом месте.

1

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