PHP PDO 和 IN 子句

标签 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
                              WHERE pa.pid IN (1,2)
                             ");

现在该语句已执行,但它只获取 pa.pid = 2 的结果,或给定值的最后一个值。谁能为我解释一下?我期待 id 的 1 和 2 的结果数组,但这只会输出 Array ( [tid] => 2 [rate] => 7.30 [name] => Something )

if ($stmt->execute())
          return $stmt->fetch(PDO::FETCH_ASSOC);

谢谢

最佳答案

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

关于PHP PDO 和 IN 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6348243/

相关文章:

php - 为什么我的日期选择器和时间选择器不显示?

javascript - JQuery FullCalendar 添加事件

php - SQL/PHP-语法错误或访问冲突: 1064 You have an error in your SQL syntax; [closed]

php - javascript在刷新页面后保持复选框选中状态

mysql - SQL - 向 select 子句添加计数

php - 完全理解 PDO ATTR_PERSISTENT

java - 避免程序中 JTextField setText 重复

mysql - 优化 MySql 查询 - avg() 与内连接花费更多时间

mysql - PDO异常 : Cannot find driver but driver installed

php - 自定义 PDO 类静静地失败