ホームページ >データベース >mysql チュートリアル >PDO プリペアド ステートメント fetch() が二重の結果を返すのはなぜですか?

PDO プリペアド ステートメント fetch() が二重の結果を返すのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-04 03:15:01278ブラウズ

Why is My PDO Prepared Statement fetch() Returning Double Results?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。