我想打印所有行的自定义列的值,我有一个sql developer文件,我的意思是我想打印每行的一些列,如果例如我的表名为client并具有名称、子名和电子邮件,我想打印每个客户端名、子名和电子邮件,我发现如何使用mysql创建它,但我想用php和sql developer创建它。
我所显示的代码只显示了第一个用户名,而不显示其他用户的rest名称和其他列。
<?php
function clientes($conexion) {
$consulta = "SELECT NOMBRE FROM CLIENTE";
$stmt = $conexion -> prepare($consulta);
$stmt -> execute();
return $stmt -> fetchColumn();
}
echo clientes($conexion);
?>
发布于 2019-05-28 22:50:41
您只得到一列,因为您显式地只请求一列(通过使用fetchColumn()
),并且您只告诉SQL返回一列。
更改您的查询:
// Replace column1 etc to the real column names
SELECT column1, column2, column3 FROM CLIENTE
然后,不使用fetchColumn()
(用于获取一列),而使用:
return $stmt->fetchAll(PDO::FETCH_ASSOC);
您应该得到一个包含所有三列的关联数组(每行一个)的数组。
但是,您还有另一个问题:
echo clientes($conexion);
由于现在返回的是一个数组,所以不能直接回显它。如果你这样做,你会得到一个关于“数组到字符串转换”的警告。您需要遍历数组并根据需要输出数据:
$data = clientes($conexion);
// Again, change the column names
foreach ($data as $row) {
echo $row['column1'];
echo $row['column2'];
echo $row['column3'];
}
这将输出所有数据。不过,你可以决定布局。
https://stackoverflow.com/questions/56344643
复制相似问题