mysqli結果セットに問題があります。私にはたくさんのメッセージが入っているテーブルがあります。すべての表の行は1つのメッセージを表します。 ID、タイトル、本文、「公開」などのいくつかの列があります。パブリックカラムには、メッセージを誰にでも表示するか、投稿した人だけに表示するかを指定するブール値が含まれています。私はすべてのパブリックメッセージを表示するページを持っています。メッセージをクリックすると、単一のメッセージといくつかの追加オプションがあるページが表示されます。これを行うには、mysqliクエリの結果を2次元配列にロードします。それはメッセージの配列を意味し、各メッセージはID、タイトル、本文などを列として持つ配列です。2次元配列にMySQLi結果セットをロードするには?
私は次のコードを使い始めました。 '$ link'変数にはmysqli接続が含まれています(魔女はうまくいきます)。
$result = $link->query("SELECT * FROM messages WHERE public = '1'");
$array = $result->fetch_assoc();
print_r($array);
これは、最新のメッセージを含む1次元配列になります。ループしながら、だから私は、次のことを試してみました:それはすべてのメッセージを表示しますが、私はIDに基づいてタスクを実行するために必要配列(魔女、との位置に入れていません:
$result = $link->query("SELECT * FROM messages WHERE public = '1'");
while($message = $result->fetch_assoc()){
$title = $message['title'];
$body = $message['body'];
# etc...
}
これは、ように動作しますメッセージ配列を含む配列)。誰もこのようなクエリ結果を素敵な2次元配列に変換する方法を知っていますか?これについては、まったく違う、気の利いた方法ですか?前もって感謝します。
PS。私の英語は申し訳ありませんが、私はネイティブスピーカーではありません。私は右のあなたを取得する場合
この回答ありがとう!私を助けてくれました! –
あなたの例はうまくいきましたが、複数の文字が異なる変数名を使用するともっと明確になります... ** $ message **と** $ messages ** –