PHP fetch_assoc 循环

标签 php mysql prepared-statement

我的查询选择符合特定条件的所有行,但在使用 fetch_assoc 时遇到问题,我只得到一行。

这是我的代码:

$stmt = $conn->prepare("SELECT filename, comment, action FROM files WHERE belongsto = ?");
$stmt->bind_param("s", $_POST['case_identifer']);
$stmt->execute();
$result = $stmt->get_result();
echo json_encode(array(($result->fetch_assoc())));
$stmt->close();
$conn->close();

我需要将 fetch_assoc 函数转换为循环,以便获得 JSON 中的所有结果,但我非常不确定如何执行此操作,希望得到任何帮助或提示。

最佳答案

只需使用 while 循环将行写入数组,然后对其进行 json_encode。因此替换这一行:

echo json_encode(array(($result->fetch_assoc())));

使用这个循环:

$output = array();
while ($row = $result->fetch_assoc()) {
    $output[] = $row;
}
echo json_encode($output);

关于PHP fetch_assoc 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53823443/

相关文章:

php - 尝试组合两个组件时推荐脚本不起作用

php - 准备好的语句mysql/php的语法错误

mysql - 使用 PreparedStatement 从 MySQL 数据库传输数据的开销

php - 数据的返回值使用ajax、jquery、json

javascript - 使用 PHP 和 JavaScript 自动幻灯片放映

mysql - 添加外键约束失败

php - 表 2 中的三个连接字段覆盖表 1 中的三个连接字段

php - 具有多个表的列的所有行的总和值

java - 使用准备好的语句在 Oracle 中生成日期

javascript - 触发点击后执行的操作