Исключение строки в базе данных с != в запросе PDOPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Исключение строки в базе данных с != в запросе PDO

Сообщение Anonymous »

Я пытаюсь исключить определенные строки с помощью запроса PDO, но он не возвращает правильное значение, и я не вижу своей ошибки, возможно, кто-то из вас сможет мне помочь.
Это первый работающий запрос.
$objGetRecievedChat = $objDatabaseMessages->prepare('SELECT * FROM messages WHERE recieverid = :recieverid GROUP BY chatid');

Теперь я хочу исключить чатид, полученный из этого запроса.
foreach ($getRecievedChatFtch as $chatid) {
echo $chatid['chatid'] . '
';
}

Когда я повторяю вышеизложенное, я получаю следующий результат:
20920
81586

Это верно. Я хочу исключить эти два значения, поэтому выполняю следующий запрос:
$objGetSendChat = $objDatabaseMessages->prepare('SELECT * FROM messages WHERE ownerid = :ownerid AND chatid != :chatid GROUP BY chatid');

foreach ($getSendChat as $key ) {
echo $key['chatid'] . '
';
}

Но когда я повторяю приведенное выше, я получаю следующие значения
44495
20920
44495

это значение 44495 правильное, хотя оно мне нужно только один раз (поэтому я группирую по Chatid) Но значение 20920 является одним из значения, которые мне нужно исключить.
Кто-нибудь знает, что я делаю неправильно?
Заранее спасибо!
Весь код:
//Voor de berichten die je hebt ontvangen.
$objGetRecievedChat = $objDatabaseMessages->prepare('SELECT * FROM messages WHERE recieverid = :recieverid GROUP BY chatid');
$objGetRecievedChat->bindParam('recieverid', $member_id);
$objGetRecievedChat->execute();

$getRecievedChatFtch = $objGetRecievedChat->fetchAll(PDO::FETCH_ASSOC);

//Dit is voor verzonden berichten.
foreach ($getRecievedChatFtch as $chatid) {
echo $chatid['chatid'] . '
';

$objGetSendChat = $objDatabaseMessages->prepare('SELECT * FROM messages WHERE ownerid = :ownerid AND chatid NOT IN(:chatid) GROUP BY chatid');
$objGetSendChat->bindParam('ownerid', $member_id);
$objGetSendChat->bindParam('chatid', $chatid['chatid']);

$objGetSendChat->execute();
$getSendChat = $objGetSendChat->fetchAll(PDO::FETCH_ASSOC);

foreach ($getSendChat as $key) {
echo $key['chatid'] . '
';
}
}


Подробнее здесь: https://stackoverflow.com/questions/399 ... -pdo-query
Ответить

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

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

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

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

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