Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: syntax error, unexpected T_IF, expecting
Форумы портала PHP.SU » » Если скрипт не работает » syntax error, unexpected T_IF, expecting

Страниц (1): [1]
 

1. onlineunit - 02 Ноября, 2011 - 09:24:32 - перейти к сообщению
Доброго времени суток. Пытаюсь вывести из базы только определенные строки по условию. Ругается на if ($myrow["U_INN"] = $_SESSION["INN"]);(syntax error, unexpected T_IF, expecting ) Подскажите пожалуйста где я ошибся?
PHP:
скопировать код в буфер обмена
  1. do{
  2.          printf(
  3.                 if ($myrow["U_INN"] = $_SESSION["INN"]);
  4.          {
  5.              "%s",$myrow["name"]);
  6.            
  7.          }
  8. }
2. Bio man - 02 Ноября, 2011 - 09:26:13 - перейти к сообщению
3 строка, точку с запятой убери
3. onlineunit - 02 Ноября, 2011 - 09:32:35 - перейти к сообщению
Bio man пишет:
3 строка, точку с запятой убери

Не помогло...
Parse error: syntax error, unexpected T_IF, expecting ')' in /www/.............
4. EuGen - 02 Ноября, 2011 - 09:36:50 - перейти к сообщению
5. Мелкий - 02 Ноября, 2011 - 09:38:58 - перейти к сообщению
onlineunit, у вас полная каша в голове. Предлагаю выспаться, отдохнуть, и перечитать описание синтаксиса PHP.

0) if не может быть параметром функции
1) ещё ошибку Bio man указал

Не имеющие отношение с синтаксису, но к логике:
1) = - присваивание. И в условии имеет смысл, только если вы правда понимаете, что делаете. Сравнение - == и === с проверкой типа
2) printf нужно использовать, только если вам нужно форматирование этой функции. Она работает медленнее print и echo
3) результат выборки из базы нужно обходить через while() {}. Если обходить как do {} while, то во-первых, будет избыточный код и во вторых некорректное поведение, если запрос возвращает 0 строк.
6. LIME - 02 Ноября, 2011 - 09:42:22 - перейти к сообщению
.
7. onlineunit - 02 Ноября, 2011 - 09:47:35 - перейти к сообщению
LIME пишет:
PHP:
скопировать код в буфер обмена
if ($myrow["U_INN"] = $_SESSION["INN"]) {
printf("%s",$myrow["name"]);
}


Спасибо за ответ. Но таким образом выводиться все строки из таблицы базы данных, а мне нужно что бы только если переменная INN (которая висит в сессии) равна значению строк столбца U_INN таблицы.
8. Самогонщик - 02 Ноября, 2011 - 09:47:49 - перейти к сообщению
А куда тема пропадала? я открывал недавно, а мне сообщалось, что не существует. А сейчас опять на месте, да ещё и с кучей комментов.
9. Мелкий - 02 Ноября, 2011 - 10:07:31 - перейти к сообщению
Самогонщик, побочные действия переноса темы между разделами - старые ссылки дохнут.

onlineunit пишет:
мне нужно что бы только если переменная INN (которая висит в сессии) равна значению строк столбца U_INN таблицы.

0) укажите условие в SQL-запросе
1)
Мелкий пишет:
1) = - присваивание. И в условии имеет смысл, только если вы правда понимаете, что делаете. Сравнение - == и === с проверкой типа
10. LIME - 02 Ноября, 2011 - 11:14:07 - перейти к сообщению
onlineunit мелкого слушайся
он все дело говорит
а я ляпнул не подумав
просто синтаксис исправил и все

 

Powered by ExBB FM 1.0 RC1