在 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中文网其他相关文章!