PHP PDO查询问题返回为object=>&引用;“查询字符串”;
我正在使用PDO并将我的查询放入一个try块中,我准备它,然后对它调用execute,然后对它调用nextPHP PDO查询问题返回为object=>&引用;“查询字符串”;,php,mysql,pdo,Php,Mysql,Pdo,我正在使用PDO并将我的查询放入一个try块中,我准备它,然后对它调用execute,然后对它调用nextfetchAll(PDO::FETCH_ASSOC)。在这行中,我需要文本,我将PHP放在一个foreach循环中,$tools变量为$obj。然后,当我在代码中输入变量$obj并引用mySQL中的“name”、“price”和“code”时,我“认为”我正在调用它。 刚刚吐出查询字符串的错误 object(PDOStatement)#2(1){[“queryString”]}=>…Sql语
fetchAll(PDO::FETCH_ASSOC)
。在这行中,我需要文本,我将PHP放在一个foreach循环中,$tools
变量为$obj
。然后,当我在代码中输入变量$obj
并引用mySQL中的“name”、“price”和“code”时,我“认为”我正在调用它。
刚刚吐出查询字符串的错误
object(PDOStatement)#2(1){[“queryString”]}=>…Sql语句。
try {
$tools = $dbh->prepare("SELECT t.item_code as code, t.item_name as
name, t.retail_price as retail,
t.sale_price as price, t.item_pieces as
pieces, t.qty as quantity,
t.sold as sold, b.brand as brand,
c.category as category
FROM Tools AS t
JOIN Images AS i ON t.t_id = i.t_id
JOIN Brands AS b ON t.b_id = b.b_id
JOIN Categories AS c ON t.c_id =
c.c_id
LEFT OUTER JOIN Types as tt ON tt.t_id = t.tt_id");
$tools->execute();
$tools->fetchAll(PDO::FETCH_ASSOC);
}catch (PDOException $e) {
echo 'unable to retrieve data';
echo $e->getMessage();
exit();
}
<?php
foreach($tools as $obj) {
?>
<div class="col-xs-12 col-sm-6 col-md-3">
<article class="card">
<p class="text-center">
Item: <?php echo $obj->name; ?><br>
Brand: <br>
Price: <?php echo $obj->price; ?><br>
<button class="btn btn-default btn-lg"
value="<?php echo $obj->name; ?>">
<a href="#"><?php echo $obj->code;
?></a>
</button>
</p>
</article>
</div>
<?php } ?>
$tools->fetchAll(PDO::FETCH_ASSOC)代码>是一个问题fetchAll
从语句中获取所有行并返回它们。如果要使用它,需要将该表达式的结果赋给另一个变量,如:
$results = $tools->fetchAll(PDO::FETCH_ASSOC);
然后您可以使用foreach($results…
代替foreach($tools…
或者,您应该能够删除fetchAll
表达式。PDO语句实现可遍历,并且在执行后可以直接使用foreach进行迭代,而无需显式使用fetch方法
$results = $tools->fetchAll(PDO::FETCH_ASSOC);