MySQL запрос не работает? - PullRequest
       2

MySQL запрос не работает?

0 голосов
/ 14 сентября 2011

Я делаю простую функцию друзей для своего сайта, и когда люди получают запрос на добавление в друзья, я хочу, чтобы он отображался там на панели друзей, поэтому я попробовал это.

 $q = $dbc -> prepare("SELECT id_to read FROM friend_requests WHERE id = ? && read == '0'");
 $q -> execute(array($details['id']));
 $request_count = $q -> rowCount();
 if ($request_count > 0) {
echo '<li><a href="/friends"><img src="/gameimages/friends.png" height="16" width="16" alt="" /><strong>Friends (' . $request_count . ')</strong></a></li>';
 }
 else {
echo $request_count;
echo '<li><a href="/friends"><img src="/gameimages/friends.png" height="16" width="16" alt="" />Friends </a></li>';
 }

Теперь на странице друзей, гдезапросы показываются, все запросы получают столбец чтения, установленный в 1, и по умолчанию он равен 0. Если есть строки с 0, это должен быть новый запрос, и приведенный выше запрос должен сработать, сообщая пользователям, что у них есть новые запросы.Я делаю не так?

Ответы [ 3 ]

3 голосов
/ 14 сентября 2011

Проблема в вашем запросе:

SELECT id_to read FROM friend_requests WHERE id = ? && read == '0'

должно быть

SELECT id_to, read FROM friend_requests WHERE id = ? and read = '0'
1 голос
/ 14 сентября 2011

Чтение - это зарезервированное слово в MySQL, и его необходимо экранировать обратными чертами:

SELECT id_to, `read` FROM friend_requests WHERE id = ? AND `read` = '0';
1 голос
/ 14 сентября 2011

&& read == '0'

Вы имели в виду

 AND read = 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...