加入表时PDO fetch_assoc [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了加入表时PDO fetch_assoc [重复]相关的知识,希望对你有一定的参考价值。

在连接表时,使用PDO获取关联数组似乎不会显示所有结果列。

<?php
$stmt = $GLOBALS['db']->prepare("
SELECT * 
  FROM printer
     , printermanufacturer
     , printermodel
     , colorprofile
     , papersize 
 WHERE User = :userID 
   AND printer.Manufacturer = printermanufacturer.ID 
   AND printer.Model = printermodel.ID 
   AND printer.Colorprofile = colorprofile.ID 
   AND printer.papersize = papersize.ID
");

$stmt->bindValue(':userID', $userID, PDO::PARAM_INT);
$stmt->execute();
print_r($stmt->fetchAll(PDO::FETCH_ASSOC));
?>

这应该导致一个关联数组,例如printermanufacturer.Nameprintermodel.Name,但事实并非如此。只有一行名为Name。是否有一个解决方案没有重命名每一列像SELECT printermanufacturer.Name AS pmName ...

谢谢

编辑:在重复的问题中还有(未答复的)问题:“有没有办法自动将t2列标识为t2.col1,t2.col2,(等)”这可能吗?

答案

PDO::FETCH_NAMED应该有所帮助

PDO :: FETCH_NAMED:返回一个与PDO :: FETCH_ASSOC格式相同的数组,但如果有多个具有相同名称的列,则该键引用的值将是该行中所有值的数组那个列名

以上是关于加入表时PDO fetch_assoc [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 与 PDO::FETCH_ASSOC 类似的方法是啥?

如何让 PDO::FETCH_ASSOC 将整数作为整数返回? [复制]

PHP Json 编码 PDO::FETCH_ASSOC

带有 PDO::FETCH_ASSOC 的 foreach 循环,提供的参数无效

加入具有重复行数据的表时如何获得正确的 SUM()?

连接表时H2数据库重复行