PHP PDO和IN子句

PHP PDO和IN子句,php,mysql,pdo,Php,Mysql,Pdo,我有一个与PDO一起使用的语句,如下所示: $stmt = _DB::init()->prepare("SELECT a.* FROM tax_class a INNER JOIN products_to_tax_class pa ON a.tid = pa.tid

我有一个与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的1和2都有一个结果数组,但是这只输出数组([tid]=>2[rate]=>7.30[name]=>Something)


谢谢

$stmt->fetch
一次只获取一行。用于返回整个结果集

$stmt->fetch
一次只获取一行。用于返回整个结果集

看起来您只调用了一次
fetch
。这意味着您将从查询中获取第一行,而不是更多

尝试:


看起来您只调用了一次
fetch
。这意味着您将从查询中获取第一行,而不是更多

尝试:

你太棒了!(正如你所看到的,我是PDO的新手)你太棒了!(如你所见,我是PDO的新手)
if ($stmt->execute())
          return $stmt->fetch(PDO::FETCH_ASSOC);
$stmt->fetchAll(PDO::FETCH_ASSOC);