mysqli で LIKE によるクエリと複数の結果の取得
質問に記載されているコードは、LIKE クエリを実行して複数の結果を取得しようとしています。 、問題が発生します。次の手順は、正しいアプローチの概要を示しています。
クエリの準備:
$param = "%{$_POST['user']}%"; $stmt = $db->prepare("SELECT id, username FROM users WHERE username LIKE ?");
バインドパラメータ:
$stmt->bind_param("s", $param);
クエリの実行:
$stmt->execute();
配列としての結果:
からPHP 8.2 以降:
$result = $stmt->get_result(); $data = $result->fetch_all(MYSQLI_ASSOC);
PHP 8.2 より前:
$result = $stmt->store_result(); while ($row = $result->fetch_assoc()) { $data[] = $row; }
または、結果をフェッチします増分的に:
$stmt->bind_result($id, $username); while ($stmt->fetch()) { echo "Id: $id, Username: $username"; }
この改訂されたコードにより、複数の行が返された場合でも、一致する結果がすべて取得されるようになります。回答で提供されている参考文献では、使用されるテクニックについてさらに詳しく説明されています。
以上がmysqli を使用して MySQL LIKE クエリから複数の結果を効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。