Принимая во внимание детали одного из ваших комментариев, используйте ключевое слово "OR
" и скобки, чтобы убедиться, что правильные условия объединены.
SELECT * FROM pmessages WHERE
status = 'unread'
AND
(sentto = ? OR sentto = 'everyone')
Ваша проблема никогда не была с OR
, хотя на самом деле это был AND
приоритет и отсутствие скобок. Очень важной деталью, которую вы полностью пропустили в своем вопросе, был дополнительный тест для "status = unread
".
Обратите внимание на использование ?
выше - вы должны на самом деле , на самом деле использовать подготовленные операторы при объединении MySQL и PHP, т.е.
$sql = "..." # as above
$sth = $db->prepare($sql);
$res = $sth->execute($username);
while ($row = $sth->fetchrow()) {
...
}
(или mysqli
эквивалент)