Оператор IN в предложении WHERE не работает должным образомPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Оператор IN в предложении WHERE не работает должным образом

Сообщение Anonymous »

Ниже приведена структура моей базы данных:

Изображение



Теперь я хочу выполнить поиск по этой таблице под названием «сообщения».

Скажем, я хочу найти PostUUID(поле), где подробности приведены ниже:


**-subid =1,2

-postcode=56000

-pricing-100**


В В приведенном выше изображении базы данных есть 3 пользователя, соответствующие этим критериям,
а именно vani,kalni и nair.

Таким образом, результат должен вернуть 6 строк с уникальным PostUUID.


Мой запрос:

Код: Выделить всё

$a=$data['sub'];
foreach($a as $v=>$k)
{

$key[]=$v;

}
//variables
$key2=implode(',',$key);
$postcode=$data['postcode'];
$rate=$data['rate'];

$statement = $pdo->prepare("SELECT * FROM posts,subjects WHERE posts.subid IN (:key2) AND posts.pricing=:rate2  AND posts.Poscode=:postcode2 AND subjects.subid=posts.subid ORDER BY posts.Poscode DESC LIMIT 60");

$statement->execute(array(':key2' => $key2,':rate2'=>$rate,':postcode2'=>$postcode));

$json = array();
while( $row = $statement->fetch()) {
// array_push($json, array($row['Name'], $row['PostUUID']));
array_push($json, array("name" => $row['Name'], "id" => $row['PostUUID'],"rate" => $row['pricing'],"postcode" => $row['Poscode'],"subject" => $row['subname'],"reputation" => $row['Reputation'],"plus" => $row['ReviewPlus'],"neg" => $row['ReviewNeg'],"weekM" => $row['week_morning'],"weekA" => $row['week_afternoon'],"weekE" => $row['week_evening'],"endM" => $row['weekend_morning'],"endA" => $row['weekend_afternoon'],"endE" => $row['weekend_evening']));
}

header('Content-Type: application/json');

echo json_encode($json);
Я использовал var_dump($json), и он показал только один набор данных для массива $key. Он не перебирает второй элемент массива $key для получения его данных из базы данных. Почему IN здесь не возвращается правильно?

Подробнее здесь: https://stackoverflow.com/questions/301 ... s-expected
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»