PHP 在不设置变量的情况下获取 PDO 数组的值?我该怎么办?

问题描述 投票:0回答:2

所以我通过 PDO 从数据库中提取一列,我想直接回显它而不分配变量。

<?php echo ($db->query("SELECT name FROM categories WHERE code = '{$_GET['code']}' LIMIT 1")->fetch(PDO::FETCH_ASSOC);

这会引发数组到字符串错误,当我使用 json_encode 函数时,它会回显 {"name":"Boys Games"}。

所以是的,我知道我可以创建一个变量并在打印时获取“名称”元素。但我想知道是否有一种方法无需创建变量而只需打印它。

php pdo
2个回答
0
投票

要直接回显“name”列而不将其分配给变量,您可以通过直接从获取的数组访问“name”元素并回显它来修改代码。以下是如何做到这一点的示例:

<?php
$name = $db->query("SELECT name FROM categories WHERE code = '{$_GET['code']}' LIMIT 1")->fetch(PDO::FETCH_ASSOC)['name'];
echo $name;
?>

在此示例中,我们从数据库中获取行并使用数组索引运算符 [ 'name' ] 直接访问所获取数组中的 'name' 元素。最后,我们回显“名称”列的值。

通过直接访问元素,您无需在回显之前将其分配给变量。相反,您可以直接回显它。


0
投票

使用

fetchColumn()
而不是
fetch()
返回单个列值。它默认为第一列,当查询仅返回一列时,这就是您想要的。

<?php echo ($db->query("SELECT name FROM categories WHERE code = '{$_GET['code']}' LIMIT 1")->fetchColumn();
© www.soinside.com 2019 - 2024. All rights reserved.