<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// このコードは、記事の内容とは何の関係もありません,たとえば、プレースホルダーのみ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"この記事を読んでください!"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>
<hr>
<h2>mysqli_result::</span><span><span class="hljs-variable constant_">fetch_column</span></span><span> 一般のなエラーとソリューション</h2>
<p>使用中 PHP の <code>mysqli_result::</span><span><span class="hljs-variable constant_">fetch_column</span></span><span>fetch_column($ column_index)を使用する場合、指定された列インデックスが結果セットの列の数を超える場合、 falseまたはエラーが返されます。
解決策:入力列インデックスが、クエリによって返される列の数よりも小さいことを確認してください。
fetch_columnは、単一行と単一の列データの取得にのみ適しています。バッチの列内のすべてのデータを取得する場合は、 fetch_rowまたはfetch_assocに一致するためにループを使用する必要があります。
例:
</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$row</span></span><span> = </span><span><span class="hljs-variable">$result</span></span><span>-></span><span><span class="hljs-title function_ invoke__">fetch_assoc</span></span><span>()) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-variable">$row</span></span><span>[</span><span><span class="hljs-string">'column_name'</span></span><span>];
}
mysqli_resultはfetch_columnをサポートしていないため、単一の列データを取得する場合は、他の方法を組み合わせて実装する必要があります。 2つの違いと対応する使用法を理解することで、開発における一般的な間違いを回避できます。
MySQLI環境では、 fetch_rowまたはfetch_assocを使用する間に、簡潔な列フェッチ操作が必要な場合は、pdoのfetchcolumn()の使用を検討することをお勧めします。
関連タグ:
mysqli_result