pdo连接表时获取assoc

mw3dktmi  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(288)

这个问题在这里已经有了答案

php-mysql\u-fetch\u-assoc,数组键以'as'名称区分(1个答案)
两年前关门了。
在连接表时,用pdo获取assoc数组似乎不会显示所有结果列。

<?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.Name 以及 printermodel.Name ,但事实并非如此。只有一行名为name。有没有一个解决方案,而不重命名每一列像
SELECT printermanufacturer.Name AS pmName ...
谢谢
编辑:在重复的问题中还有一个(未回答的)问题:“有没有办法自动将t2列标识为t2.col1、t2.col2(etc)”这可能吗?

oprakyz7

oprakyz71#

pdo::fetch\u named应该有帮助
pdo::fetch_named:返回一个与pdo::fetch_assoc格式相同的数组,只是如果有多个同名列,则该键引用的值将是具有该列名的行中所有值的数组

相关问题