这个问题在这里已经有了答案:
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)”这可能吗?
1条答案
按热度按时间oprakyz71#
pdo::fetch\u named应该有帮助
pdo::fetch_named:返回一个与pdo::fetch_assoc格式相同的数组,只是如果有多个同名列,则该键引用的值将是具有该列名的行中所有值的数组