为了账号安全,请及时绑定邮箱和手机立即绑定

显示每一行列信息php和sql

显示每一行列信息php和sql

PHP
繁星点点滴滴 2021-07-09 18:15:01
我想打印所有行的自定义列的值,我有一个 sql 开发人员文件,我的意思是我想打印每行的一些列,例如,如果我的表名为 client 并具有名称、子名称和电子邮件我想打印每个客户端名称、子名称和电子邮件,我已经找到了如何用 mysql 制作它,但我想用 php 和 sql developer 制作它。我显示的代码仅显示第一个用户名,而不显示其他用户的其余名称和其他列。<?phpfunction clientes($conexion) {    $consulta = "SELECT NOMBRE FROM CLIENTE";    $stmt = $conexion -> prepare($consulta);    $stmt -> execute();    return $stmt -> fetchColumn();}echo clientes($conexion);?>
查看完整描述

3 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

我想打印我找到的每个客户名称、子名称和电子邮件


然后你应该使用 fetchall() 这将获取所有结果作为一个数组然后遍历数组并打印数组的每个元素


function clientes($conexion) {

    $stmt = $conexion ->query("SELECT name,subname,email FROM CLIENTE")->fetchall();


  foreach($stmt as $row){


    echo "Client Name : ".$row['name']."<br>";

    echo "Client subname : ".$row['subname']."<br>";

    echo "Client email : ".$row['email']."<br>";

  }

}


clientes($conexion);

?>


查看完整回答
反对 回复 2021-07-16
?
长风秋雁

TA贡献1757条经验 获得超7个赞

你只得到一列,因为你明确只要求一列(通过使用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'];

}

这将输出所有数据。不过,您可以决定布局。


查看完整回答
反对 回复 2021-07-16
  • 3 回答
  • 0 关注
  • 199 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信