PHP、PDO を使用してゲーム データベースにクエリを実行し、参加可能なゲームを取得します。Fetch を使用すると、条件を満たす最後の行が返されます。最初の行が必要なので、現在 FetchAll を使用してから、取得した最初の行を調べています。Fetch を使用して、最初の行だけを取得するように指示する方法はありますか。FetchAll を使用すると、必要以上のデータを収集しているように見えます。
私はこれらすべてに非常に慣れていませんが(貿易によるアニメーター)、古いmysqlに頭を悩ませていたので、今では素晴らしいと思われるPDOの使用に移行しました。動作する非同期ゲーム サーバーをゆっくりと構築しています。
これは私のコードです。これは機能しますが、FetchAll を使用しなかった場合、より効率的になるかどうか疑問に思います。
//Set variables to use when searching for random game in table
$player2_id = 0; //if 0 then player 2 slot has not been filled.
$whose_turn = 2; //if 2 then its player twos go...so good to join.
//IS THERE A RANDOM GAME TO JOIN
$current_game = $db->prepare("SELECT * FROM games_database WHERE player2_id=? AND whose_turn=?");
$current_game->execute(array($player_2_id, $whose_turn));
//Fetch All the results
$random_game_to_use = $current_game->fetchAll(PDO::FETCH_ASSOC);
//Get the first of all the results
$firstAvailableGame = $random_game_to_use[0];
$rand_game_name = $firstAvailableGame['game_name'];
それが理にかなっていることを願っています。どんな助けや知恵の真珠もありがたく受け取られるでしょう. また、PHP および PDO データベース クエリのコーディングを学ぶ上で、Stackoverflow は非常に役立つ Web サイトでした。私はおそらく人生で約4回コーディングを学ぼうとしましたが、最終的にはうまく定着し始めました. これは私の最初の質問です...ジョンに感謝します。