这是我第一次尝试的一件事。我用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());
直接调用函数请告诉我:
答案 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以获取更多功能: