PDO プリペアド ステートメント fetch() が 2 つの結果を返す
PDO プリペアド ステートメントの使用時に予期しない結果が発生する開発者はあなただけではありません。 fetch() メソッドを使用します。この問題を解決するには、さまざまなフェッチ スタイルで fetch() がどのように動作するかを理解する必要があります。
デフォルトでは、fetch() は連想配列 (列名でインデックス付け) と数値配列 (列名でインデックス付け) の両方を返します。番号)。あなたの場合、これはテーブル内の各行の各列が 2 回エコーアウトされることを意味します。
これを回避するには、fetch() を呼び出すときに特定のフェッチ スタイルを指定する必要があります。これを行うには、PDO::FETCH_* 定数の 1 つを fetch() メソッドの 2 番目の引数として渡します。
連想配列のみ:
<code class="php">while ($rows_get_rows = $result_get_rows->fetch(PDO::FETCH_ASSOC)) { // Your code here }</code>
数値配列のみ:
<code class="php">while ($rows_get_rows = $result_get_rows->fetch(PDO::FETCH_NUM)) { // Your code here }</code>
フェッチ スタイルを指定することで、fetch() からデータが返される方法を制御し、不要な重複を防ぐことができます。
以上がPDO プリペアド ステートメント fetch() が二重の結果を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。