2009-09-18 19 views
0

Я вытаскиваю сообщения из mysql с помощью PHP для отображения на определенной странице. Вместо отображения заголовка сообщения в указанной строке заголовка и сообщения в текстовом поле назначенного тела ... нет содержимого, отображаемого и отображающего заголовок в URL-адресе. Что мне не хватает в моем запросе? Или что происходит?Проблемы с отображением отображения PHP

/*--Here is my query--*/ 

$query = "SELECT * FROM `Messages` WHERE `id` = '" .$messageid. "'"; 
      $request = mysql_query($query,$connection) or die(mysql_error()); 
      $Readmessages = mysql_fetch_array($request); 

      $query = "SELECT * FROM `Users` WHERE `id` = '".$Readmessages['sentFrom'] ."'"; 
      $request2 = mysql_query($query,$connection); 
      $sender = mysql_fetch_array($request2); 

/*--Here is my code--*/ 
+1

не так много кода, в настоящее время ... –

+0

Это должно было быть только что помещено в ваш последний вопрос –

+2

Не могли бы вы показать нам код страницы вместо SQL-запроса? Имейте в виду - вы должны использовать подготовленные данные для этого, так как ваш запрос подвержен SQL-инъекции. – Eimantas

ответ

0

Мой совет должен сделать все ваши запросы в приложении MySQL, как PHPMyAdmin и убедитесь, что вы получите результаты, которые хотите вернуть. Это всегда то, что я делаю, когда сталкиваюсь с проблемой с запросом, запускаю запрос в приложении, поэтому я уверен, что сам запрос работает. Если вы используете mac, я рекомендую Sequel Pro (он бесплатный).

Извините за задержанную помощь.

0

Когда код делает то, чего вы не ожидаете - дважды проверьте свои предположения.

1) Убедитесь, что $ MessageId заполняется то, что вам нужно

2) Убедитесь, что строка вы возвращение не равно нулю - т.е. его работать только данные нулевой

+0

проблема заключается в том, что он отображает тело сообщения в моем браузере, а не там, где я хочу, чтобы он находился в указанной области тела –

1

Прежде всего , вам не нужно использовать. (Добавить) на $ MessageID - визави:

$query = "SELECT * FROM `Messages` WHERE `id` = '$messageid'"; 

Во-вторых, проверьте, чтобы увидеть, если вы на самом деле вернулся ряд и (вот доводом) использовать mysql_fetch_assoc() вместо mysql_fetch_array() - или вы не получите поле имена.

if ($Readmessages = mysql_fetch_assoc($request)) 
{ 
    $sentfrom = $Readmessages['sentFrom']; 
    if (strlen($sentfrom) > 0) 
    { 
     $query = "SELECT * FROM `Users` WHERE `id` = '$sentfrom'"; 
     ... 
    } 
} 

если вы хотите проверить ваш запрос, вы можете вывести его в вашем HTML, и посмотреть на источник:

echo "<!-- <sql>$query</sql> -->"; 
Смежные вопросы