显示PHP MySQL中函数返回的数据

时间:2015-05-16 19:57:51

标签: php mysql pdo

这是我第一次尝试的一件事。我用PHP和MySQL做了很少的网站作为数据库,但从未使用函数从数据库中获取数据。

但是现在我正在尝试全新的事情,因为现在我想为沼泽项目实现reusability。我想从DB(即MySQL)到PHP Function获取订单详细信息。我对如何打印PHP函数返回的值感到困惑。

我写的功能如下:

function _orderdetails(){
    $sql = "Select * from orders WHERE 1";
    $result = DB::instance()->prepare($sql)->execute()->fetchAll();
    return $result;
}

请让我知道如何打印这些值,上面的函数返回的值是一个数组。

我尝试通过print_r(_orderdetails());

直接调用函数

请告诉我:

  1. 通过此功能迭代打印值的有效方法。
  2. 还有其他方法可以更好地解决吗?

3 个答案:

答案 0 :(得分:1)

你不能像这样将fetchAll()链接到execute()。

此外,对于不带参数的查询,使用execute()没有意义。所以改变你的功能

function _orderdetails(){
    $sql = "Select * from orders WHERE 1";
    return DB::instance()->query($sql)->fetchAll();
}

所以你将能够以最自然的方式迭代结果

foreach (_orderdetails() as $order) {
    echo $order['id'] . '<br />';
}

答案 1 :(得分:-2)

在您将调用此函数的PHP代码中使用以下

print_r(_orderdetails()); 
//to get all the result set... I mean all the values coming from this function.

您也可以使用该功能并使用 - &gt;在函数调用之后,然后将变量名称设置如下:

To iterate through the values of this function:
$value_arr = _orderdetails();
foreach ($valur_arr as $value) {
    echo $value . '<br />';
}

这样,您将从正在使用的数据库表中回显1列。

答案 2 :(得分:-2)

您也可以使用->fetch();

而不是->fetchAll();

还有一些其他函数也可以作为工作者来迭代表中的下一行。

您可以在以下位置查看PDO以获取更多功能:

http://php.net/manual/en/book.pdo.php