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 - 为 mysql 连接定义

mysql - 保存 HTML 内容会引发列数据过长

mysql - SQL从多个表中获取值然后对其进行排序

php - 在 php 中使用 mysql like 子句

php - 跨子域维护 session 变量

php - 如何处理 .php 文件的上传而不可能执行它们?

PHP:如何从 android .apk 文件中获取版本?

php - 如何自动将 'strip_tags' 附加到所有数据库选择查询?

php - 使用 MySql 事务回滚 CREATE TABLE

php - exec ('ping' ) 在开发服务器中工作但不在生产中