2012-07-01 7 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» («Покупатель», «Продавец», «Покупатель/Продавец», «Инвестор») И status = 'Новый' ORDER BY da 'на линии 1

+0

Можем ли мы иметь рабочую ссылку, чтобы увидеть ошибку? – Charlie

+2

Можете ли вы показать нам вывод 'echo $ sql' или, по крайней мере, ошибку, которую вы получаете? –

+0

Пожалуйста, см. Ошибку в обновлении – Josh

ответ

0

У вас есть ; после вашего условия.

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

Должно быть

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

Спасибо! Мне жаль, что это было ... обновить ошибку, которую я получаю. – Josh

+0

Свершитель должен оставить причину. – xdazz

0

Удалите =.

contacttype IN 

не

contacttype = IN 
+0

Я пробовал это, как вы можете видеть в моей «1-й попытке», и это дало мне ту же синтаксическую ошибку. – Josh

0

Попробуйте для запроса

$sql = "SELECT * FROM contacts WHERE contacttype IN('".$typeslist."') AND status = 'New' ORDER BY date DESC"; 
Смежные вопросы