gpt4 book ai didi

MySQL PDO没有错误,但拉不到数据

转载 作者:行者123 更新时间:2023-11-29 23:31:36 25 4
gpt4 key购买 nike

我的 MySQL PDO 查询发生了一些奇怪的事情。

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

我知道这一点是因为我收到 PDO 错误 0000,但是当我运行时 $num_events_months = $result_events_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());
}

关于MySQL PDO没有错误,但拉不到数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26538364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com