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 :: Версия для печати :: непонятная ошибка
Форумы портала PHP.SU » » Вопросы новичков » непонятная ошибка

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

1. yogeswar - 29 Марта, 2013 - 13:33:47 - перейти к сообщению
Подскажите, не могу понять в чем ошибка.
В базе данных в таблице catalog есть четыре колонки: predmet1, predmet2, predmet3 и predmet4. Далее, существует массив $wasy(это для примера). Мне нужно составить массив, который получается из выборки таких строк таблицы catalog, чтобы хотя бы одна ячейка из predmet1, predmet2, predmet3 и predmet4 равнялась бы хотя бы одному элементу массива $wasy.
Далее я пишу такую программу:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $wasy = array('Федя','Гриша ','Иван Иванович','Матвей');
  3. $w=implode(', ',$wasy);
  4. //////////////////////////////////////////////////////////////
  5. $par = array();
  6. $abr = "SELECT * FROM catalog WHERE 'predmet1' IN ($w) or 'predmet2'
  7. IN ($w) or 'predmet3' IN ($w) or 'predmet4' IN ($w)";
  8. $result10 = mysql_query($abr) or die(mysql_error());
  9. while($roww = mysql_fetch_array($result10,MYSQLI_NUM)){
  10.         $par[] = $roww;        
  11.     }
  12.        
  13. ?>

Возникает ошибка:
CODE (text):
скопировать код в буфер обмена
  1. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Иванович, Матвей) or 'predmet2'
  2. IN (Федя, Гриша , Ива' at line 1

Если я в массиве вместо 'Иван Иванович' пишу просто 'Иван', то ошибки нет. Значит ошибка возникает с появлением пробела между 'Иван' и 'Иванович'.
Как сделать так, чтобы пробел был, но ошибка не возникала бы.
Заранее извиняюсь за наивность.
2. esterio - 29 Марта, 2013 - 13:43:38 - перейти к сообщению
1. Жырное виделение зачем
2. строкы в MySQL нужно брать в лапки


?
3. yogeswar - 29 Марта, 2013 - 13:51:44 - перейти к сообщению
Я исправил так как вы написали, в ответ такая ошибка:
PHP:
скопировать код в буфер обмена
  1. Notice:  Array to string conversion in /var/www/save_vibor.php(название моего файла) on line 10 (как раз указывает на эту строку)
4. esterio - 29 Марта, 2013 - 13:53:10 - перейти к сообщению
Исправил код выше
5. yogeswar - 29 Марта, 2013 - 13:58:16 - перейти к сообщению
Спасибо заработало!

 

Powered by ExBB FM 1.0 RC1