MySQL PDO没有错误,但没有拉取数据

MySQL PDO没有错误,但没有拉取数据,mysql,pdo,Mysql,Pdo,我的MySQL PDO查询有点怪 如果我传入一个值数组,它不会。 如果我不传入数组,它就会工作 我知道这是因为我得到了一个PDO错误0000,但是当我运行 $num\u events\u months=$result\u events\u months->rowCount 仅当值硬编码到查询中时,它才会返回值 我只是不确定我做错了什么 以下操作不起作用: $query_events_months = "SELECT DATE_FORMAT(event_date, '%Y-%m') AS even

我的MySQL PDO查询有点怪

如果我传入一个值数组,它不会。 如果我不传入数组,它就会工作

我知道这是因为我得到了一个PDO错误0000,但是当我运行 $num\u events\u months=$result\u events\u months->rowCount

仅当值硬编码到查询中时,它才会返回值

我只是不确定我做错了什么

以下操作不起作用:

$query_events_months = "SELECT DATE_FORMAT(event_date, '%Y-%m') AS event_month_year, DATE_FORMAT(event_date, '%M') AS event_month_name FROM Events WHERE event_date >= :current_date AND status = :status GROUP BY event_month_year";
$result_events_months = $conn->prepare($query_events_months);
$result_events_months->execute(array(':current_date'=>'2014-10-01',':status'=>'published'));
以下方法确实有效:

$query_events_months = "SELECT DATE_FORMAT(event_date, '%Y-%m') AS event_month_year, DATE_FORMAT(event_date, '%M') AS event_month_name FROM Events WHERE event_date >= '2014-10-01' AND status = 'published' GROUP BY event_month_year";
$result_events_months = $conn->prepare($query_events_months);
$result_events_months->execute(array(':current_date'=>'2014-10-01',
                                   ':status'=>'published'));
我只是不确定我做错了什么

PDO ERROR 000是成功执行查询时返回的值

只能在失败时打印,否则应忽略

在您的案例中,大致如下:

if(!$result_events_months->execute(array(...))){
   var_dump($result_events_months->errorInfo()); //not outside of the failure block
}else{
   var_dump($result_events_months->fetchAll());
}

您是否尝试过重命名:当前\u日期?有一个内置函数CURRENT_DATE可能会在原力中造成干扰!你怎么知道没有错误?你检查过它们吗?嗨,梅达,它应该返回2条记录。@雨果,然后你需要获取它们,你显示的代码只执行查看更新