PHP MySQL не поддерживает IN?

Хорошо, у меня есть довольно длинный запрос, который не срабатывает только при добавлении оператора IN. Следующий запрос отлично работает в консоли MySQL напрямую, но ничего не возвращает при выполнении в PHP.

$db = mysql_connect('localhost', 'something', 'somepassword');

$query = "SELECT * 
FROM alt_table f 
INNER JOIN alt_fac_table_c cl ON (f.id = cl.alt_table2_ida) 
INNER JOIN alt_table c ON (cl.alt_table_idb = c.id) 
LEFT OUTER JOIN alt_table_contacts_c con ON (f.id = con.alt_table_ida) 
LEFT OUTER JOIN contacts cc ON (con.alt_table_idb = cc.id) 
WHERE c.name = 'myname' 
AND f.state IN ('AL','FL') ORDER BY fname;";

$result = mysql_query($query);

Проблема не в соединении с базой данных и не в самом запросе. Очевидно, что я переименовал пару вещей, но запрос остался тем же. В PHP он ничего не возвращает (ни ошибок, ничего), но в SSH/Console он возвращает все строки, которые мне нужны.

Если я уберу "AND f.state IN ('AL','FL') ORDER BY fname;";", запрос работает, но выдает все штаты. Итак, главный вопрос... есть ли у PHP проблема с оператором IN?

UPDATE FIX В итоге проблема оказалась в данных поста. Я отправлял одинарные кавычки для 'AL',FL'. Очевидно, что при постинге они как-то странно кодировались. Я предполагаю, что это какая-то функция безопасности. Я убрал кавычки из сообщения и добавил их вместо этого в PHp на стороне сервера, и все работает.

0
задан Tyler 25 November 2011 в 15:30
поделиться