PHP 函数没有返回 MySQL 表中的所有数据

标签 php mysql mysqli

我有一个函数

    function get_table_content(){
$sql = "SELECT * FROM my_table WHERE id > 0";
$result = $this->query($sql);
while ($row = $this->fetch($result)){
return ($row);
}
}

问题是,当我调用这个函数时,它只返回我数据库中的第一个条目。 我怎样才能让它工作它假设返回表中的所有数据。 这个我也试过了,还是不行

    function get_table_content(){
    global $database_connection;
    $sql = "SELECT * FROM my_table WHERE id > 0";
    $result = mysqli_query($database_connection, $sql);
    while ($row = mysqli_fetch_assoc($result)){
    return ($row);
    }
    }

我认为解决此问题的最佳方法是返回一个数组并对其执行我的 foreach 操作,但我无法让它工作。

谁能帮帮我。 P.S 我会更喜欢它返回数据中所有数据的数组,这样我就可以对其进行 foreach 操作。 谢谢

最佳答案

return 在循环的第一次迭代期间立即停止执行您的函数。获取所有记录并返回它们:

$result = mysqli_query($database_connection, $sql);
return mysqli_fetch_all($result);

旁注:与返回结果集资源并根据需要在函数外部循环遍历它相比,这效率较低。 fetch_all 必须将所有结果转换为数组,然后您可能会在稍后循环遍历此数组。

关于PHP 函数没有返回 MySQL 表中的所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36701120/

相关文章:

php - 一站式提供更多SQL查询

javascript - 当我只上传一次时,图像在表格中插入了两次

php - 基于数据库值创建 HTML 表

php - 缓存提要或完成的页面?

mysql - SQL - 按另一个具有多行的 SQL 语句分组

MySQL 存储过程 |怎么写呢?

PHP 查询不起作用

php - 如何在 Zend Framework 中设计域层对象来表示多个对象和单个对象?

php - Laravel 不会读取 PUT 请求的 HTTP 请求负载

php - 使用 HTML 的表单输入验证是否足够安全?