猿问

显示每一行列信息php和sql

我想打印所有行的自定义列的值,我有一个 sql 开发人员文件,我的意思是我想打印每行的一些列,例如,如果我的表名为 client 并具有名称、子名称和电子邮件我想打印每个客户端名称、子名称和电子邮件,我已经找到了如何用 mysql 制作它,但我想用 php 和 sql developer 制作它。


我显示的代码仅显示第一个用户名,而不显示其他用户的其余名称和其他列。


<?php

function clientes($conexion) {

    $consulta = "SELECT NOMBRE FROM CLIENTE";

    $stmt = $conexion -> prepare($consulta);

    $stmt -> execute();

    return $stmt -> fetchColumn();

}


echo clientes($conexion);

?>


繁星点点滴滴
浏览 200回答 3
3回答

慕神8447489

我想打印我找到的每个客户名称、子名称和电子邮件然后你应该使用 fetchall() 这将获取所有结果作为一个数组然后遍历数组并打印数组的每个元素function clientes($conexion) {&nbsp; &nbsp; $stmt = $conexion ->query("SELECT name,subname,email FROM CLIENTE")->fetchall();&nbsp; foreach($stmt as $row){&nbsp; &nbsp; echo "Client Name : ".$row['name']."<br>";&nbsp; &nbsp; echo "Client subname : ".$row['subname']."<br>";&nbsp; &nbsp; echo "Client email : ".$row['email']."<br>";&nbsp; }}clientes($conexion);?>

长风秋雁

你只得到一列,因为你明确只要求一列(通过使用fetchColumn()),而且你只告诉 SQL 返回一列。更改您的查询:// Replace column1 etc to the real column namesSELECT column1, column2, column3 FROM CLIENTE然后不是使用fetchColumn()(用于获取一列),而是使用:return $stmt->fetchAll(PDO::FETCH_ASSOC);并且您应该得到一个包含所有三列的关联数组(每行一个)的数组。但是,您还有另一个问题:echo clientes($conexion);由于您现在正在返回一个数组,因此您不能直接回显它。如果这样做,您将收到有关“数组到字符串转换”的警告。您需要遍历数组并根据需要输出数据:$data = clientes($conexion);// Again, change the column namesforeach ($data as $row) {&nbsp; &nbsp; echo $row['column1'];&nbsp; &nbsp; echo $row['column2'];&nbsp; &nbsp; echo $row['column3'];}这将输出所有数据。不过,您可以决定布局。
随时随地看视频慕课网APP
我要回答