我有一个与PDO一起使用的语句,如下所示:
$stmt = _DB::init()->prepare("SELECT a.*
FROM tax_class a
INNER JOIN products_to_tax_class pa
ON a.tid = pa.tid
WHERE pa.pid IN (1,2)
");
现在执行该语句,但是它只获取pa.pid = 2
的结果,或者给定值的最后一个值。有人能为我解释一下吗?我期待着来自两个id's 1 and 2
的一系列结果,但这只输出Array ( [tid] => 2 [rate] => 7.30 [name] => Something )
if ($stmt->execute())
return $stmt->fetch(PDO::FETCH_ASSOC);
感谢
$stmt->fetch
一次只获取一行。使用fetchAll返回整个结果集
看起来您只调用了fetch
一次。这意味着您将从查询中获得第一行,而不是更多。
尝试:
$stmt->fetchAll(PDO::FETCH_ASSOC);