Подскажите, не могу понять в чем ошибка.
В базе данных в таблице catalog есть четыре колонки: predmet1, predmet2, predmet3 и predmet4. Далее, существует массив $wasy(это для примера). Мне нужно составить массив, который получается из выборки таких строк таблицы catalog, чтобы хотя бы одна ячейка из predmet1, predmet2, predmet3 и predmet4 равнялась бы хотя бы одному элементу массива $wasy.
Далее я пишу такую программу:
PHP:
скопировать код в буфер обмена
<?PHP $wasy = array('Федя','Гриша ','Иван Иванович','Матвей'); ////////////////////////////////////////////////////////////// $abr = "SELECT * FROM catalog WHERE 'predmet1' IN ($w) or 'predmet2' IN ($w) or 'predmet3' IN ($w) or 'predmet4' IN ($w)"; $par[] = $roww; } ?>
Возникает ошибка:
CODE ( text):
скопировать код в буфер обмена
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' IN (Федя, Гриша , Ива' at line 1
Если я в массиве вместо 'Иван Иванович' пишу просто 'Иван', то ошибки нет. Значит ошибка возникает с появлением пробела между 'Иван' и 'Иванович'.
Как сделать так, чтобы пробел был, но ошибка не возникала бы.
Заранее извиняюсь за наивность. Отредактировано модератором: Мелкий, 29 Марта, 2013 - 13:45:23 неуместное выделение жирностью
|