MySQL присоединиться к запросу с PHP - PullRequest
0 голосов
/ 01 апреля 2012
table: database1.comment
id | owner_id | comment    
1  |  1       | some words 
2  |  1       | some words
3  |  2       | some words

table: database2.users
id | display_name
1  | admin    
2  | guest

Я пытаюсь объединить 2 таблицы запроса, вот мой php код:

$result = mysql_query("SELECT * FROM database1.comment INNER JOIN database2.users ON database1.comment.owner_id=database2.users.id order by database1.comment.id DESC");
while ($row = mysql_fetch_array($result)){
     echo '<li>'.$row['display_name'].': '.$row['comment'].'</li>';
}

Я получаю сообщение об ошибке: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given. Как сделать рабочий код (оптимизировать путь)

Ответы [ 2 ]

0 голосов
/ 01 апреля 2012

mysql_query возвращает ресурс в случае успеха и boolen false в случае сбоя при отсутствии результатов.

http://php.net/manual/en/function.mysql-query.php

0 голосов
/ 01 апреля 2012

Если ваш запрос недопустим (или иным образом «провалился»), mysql_query () возвращает «false» (вместо массива).

SUGGESTIONS:

  1. Вырежьте / вставьте строку SQL в MySQL, посмотрите, что неверно, и исправьте ее. И в этот момент ваш PHP должен быть в порядке.

  2. Проверьте свой результат (и корректно обработайте все сбои / ошибки) в своем коде:

ПРИМЕР (ошибка: нет предложения "from"):

$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Invalid query: ' . mysql_error());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...