2012-07-01 220 views
0

我對下面的代碼有問題,它給我一個語法錯誤,我在手冊或網上找不到任何關於它的東西。關於如何讓它運行起來,你有什麼想法?SELECT * FROM table WHERE row IN('list')

第一嘗試:

<?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」):

<?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)) { 

這是代碼的其餘部分:

$firstname = $row ['firstname'];  

echo'.$firstname.'; 
} 
?> 

錯誤:您的SQL語法有錯誤;檢查與您的MySQL服務器版本相對應的手冊,在'IN('Buyer','Seller','Buyer/Seller','Investor')AND AND status ='New'ORDER BY da'at line附近使用正確的語法1

+0

我們能有一個工作環節,看看這個錯誤嗎? – Charlie

+2

你能告訴我們'echo $ sql'的輸出,或者至少是你得到的錯誤嗎? –

+0

更新請參閱錯誤 – Josh

回答

0

在您有條件後有;

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"; 
相關問題