좋아, 내가 IN 문을 추가하면 오히려 긴 쿼리가 실패합니다. 다음의 질의는 MySQL 콘솔에서 직접 작동하지만 PHP로 완료되면 아무 것도 반환하지 않습니다.PHP MySQL이 IN을 지원하지 않습니까?
$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;"; "을 제거하면 쿼리가 작동하지만 모든 상태가 표시됩니다. IN 문에 문제가 있습니까?
업데이트 수정 게시물 데이터에 문제가 생겼습니다. 'AL', FL '에 대한 작은 따옴표를 게시했습니다. 게시물에 이상하게 인코딩되어있었습니다. 보안 기능의 어떤 종류. 나는 포스트에서 인용을 가져다가 서버 측 PHP를 대신 추가하고 그것을 작동합니다. 당신은 데이터베이스를 선택 소홀히 한
MySQL은 MySQL과 상호 작용할 때 사용하는 프로그래밍 언어와 상관없이 MySQL입니다. – BoltClock
셸에서 데이터베이스에 대해 직접 쿼리 할 때이 정확한 명령문이 작동하므로 무례하지만 실망하지 않으십시오. – Tyler
코드를 게시하지 않은 경우 게시자가 도움을 줄 수 있습니까? 또한, mysql_error()로 에러를 체크하라. 나는 또한 실제로 결과 세트로 무언가를하고,'echo $ result; '또는 이와 유사한 행을 보여주는 것에 의존하지 않고 있다고 가정한다. 'while ($ row = mysql_fetch_array ($ result)) {print_r ($ row); }' –