質問

PHPを使用してmysqlからメッセージを取得して、特定のページに表示します。指定されたタイトルバーにメッセージのタイトルを表示し、指定された本文テキストボックスにメッセージを表示する代わりに、コンテンツが表示されず、URLにタイトルが表示されます。クエリに何が欠けていますか?それとも何が起こっているのですか?

/*--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--*/
役に立ちましたか?

解決

私のアドバイスは、PHPMyAdminなどのMySQLアプリケーションですべてのクエリを実行し、必要な結果を取得することです。クエリの問題に遭遇したとき、私は常にそれを実行します。アプリケーションでクエリを実行し、クエリ自体が機能することを確認します。 Macを使用する場合、Sequel Proをお勧めします(無料)。

遅れたヘルプは申し訳ありません。

他のヒント

まず、を使用する必要はありません。 (追加)$ messageid-vis:

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

次に、実際に行を返したかどうかを確認します そして、(ここにクリンチャーがあります) mysql_fetch_array()の代わりに mysql_fetch_assoc()を使用します-さもないと、フィールド名を取得できません。

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

コードが想定外の事態を引き起こす場合、想定を再確認してください。

1)$ messageidに必要なものが入力されていることを確認します

2)返す行がnullでないことを確認します-つまり、データのみが機能していることはnullです

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top