2012-07-01 5 views
0

아래 코드에 문제가있어 구문 오류가 발생하여 설명서 나 온라인에서 아무 것도 찾을 수 없습니다. 내가 이걸 어떻게 달릴 수 있는지에 대한 당신의 생각은 무엇입니까?SELECT * FROM 테이블 WHERE row IN ('list')

1 차 시도 :

<?php 
require("../dbpass.php"); $types = array('Buyer','Seller','Buyer/Seller','Investor'); 
$typeslist = implode ("','", $types); 

$sql = "SELECT * FROM contacts WHERE contacttype IN ('$typeslist') AND status = 'New' ORDER BY date DESC"; 
$result = mysqli_query($mysqli,$sql) or die ("Error: ".mysqli_error($mysqli)); 
while ($row = mysqli_fetch_array($result)) { 

두번째 시도 (에 "="후 "IN"을 넣어) :

$firstname = $row ['firstname'];  

echo'.$firstname.'; 
} 
?> 

:

<?php 
require("../dbpass.php"); 
$types = array('Buyer','Seller','Buyer/Seller','Investor'); 
$typeslist = implode ("','", $types); 

$sql = "SELECT * FROM contacts WHERE contacttype = IN ('$typeslist') AND status = 'New' ORDER BY date DESC"; 
$result = mysqli_query($mysqli,$sql) or die ("Error: ".mysqli_error($mysqli)); 
while ($row = mysqli_fetch_array($result)) { 

이 코드의 나머지 부분입니다 오류 : SQL 구문에 오류가 있습니다. IN ('구매자', '판매자', '구매자/판매자', '투자자') 근처에서 사용할 올바른 구문을 보려면 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. AND status = 'New'ORDER BY da 'at line 1

+0

이 시도? – Charlie

+2

'echo $ sql'의 결과를 표시 할 수 있습니까? 아니면 적어도 오류가 발생 했습니까? –

+0

업데이트에서 오류를 참조하십시오 – Josh

답변

0

while 조건 후에는 ;이됩니다.

while ($row = mysqli_fetch_array($result)); { 

while ($row = mysqli_fetch_array($result)) { 
+0

고마워요! 내가 그랬 으면 좋겠다. – Josh

+0

downvoter는 이유를 남겨 두어야합니다. – xdazz

0

는 =를 제거 할 수 있습니다. 우리가 오류를 볼 수있는 일 연결을 할 수

contacttype IN 

하지

contacttype = IN 
+0

"시도한 첫 번째 시도"에서 알 수 있듯이 동일한 구문 오류가 발생했습니다. – Josh

0

쿼리

$sql = "SELECT * FROM contacts WHERE contacttype IN('".$typeslist."') AND status = 'New' ORDER BY date DESC";