2009-09-18 51 views
0

我使用PHP從MySQL中拖動消息以顯示在特定頁面上。不是在指定的標題欄中顯示消息的標題,而是在指定的正文文本框中顯示消息...不顯示任何內容,並在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

那裏沒有太多的代碼,現在... – 2009-09-18 18:27:15

+0

這應該剛剛放在你的最後一個問題 – 2009-09-18 18:27:25

+2

你能告訴我們頁面代碼而不是SQL查詢嗎? 請注意,由於您的查詢很容易出現SQL注入,因此您應該使用準備好的語句。 – Eimantas 2009-09-18 18:27:37

回答

0

我的建議是做所有的疑問在像phpMyAdmin MySQL的應用並確保你得到你想要的結果。多數民衆贊成在我遇到查詢問題時總是這樣做,在應用程序中運行查詢,所以我確信查詢本身的作品。如果你使用Mac,我推薦Sequel Pro(它是免費的)。

對不起,延遲幫助。

0

當代碼執行的財產以後你不要指望它 - 仔細檢查你的假設。

1)確保$郵件ID填充了你所需要的

2)請確認您傳回的行不爲空 - 即它的工作只是數據爲null

+0

問題是它在我的瀏覽器中顯示消息正文,而不是我希望它在指定的身體區域中的位置 – 2009-09-18 19:01:07

1

首先,你不必使用。 (追加)在$消息ID - 可見:

$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> -->";