Php mysql函数IF(DAY(customers_dob)=DAY(current_date),true,false)AS today不适用于PDO
下面的查询Php mysql函数IF(DAY(customers_dob)=DAY(current_date),true,false)AS today不适用于PDO,php,mysql,pdo,Php,Mysql,Pdo,下面的查询 $stmt = $db->query(" SELECT CONCAT(customers_firstname, ' ', customers_lastname) name, customers_dob AS dob, IF(DAY(customers_dob) = DAY(current_date), true, false) AS today, IF(MONTH(customers_dob) = MON
$stmt = $db->query("
SELECT CONCAT(customers_firstname, ' ', customers_lastname) name,
customers_dob AS dob,
IF(DAY(customers_dob) = DAY(current_date), true, false) AS today,
IF(MONTH(customers_dob) = MONTH(current_date), true, false) AS month,
YEAR(current_date) - YEAR(customers_dob) AS year
FROM " . TABLE_CUSTOMERS . "
WHERE MONTH(customers_dob) = MONTH(current_date)
AND DAY(customers_dob) >= DAY(current_date)
ORDER BY customers_dob
");
$birthdays = $stmt->fetchAll();
在PHP中使用mysql扩展可以很好地工作,并在phpMyAdmin中给出结果
使用PDO,我只得到这个数组
Array
(
[name] => Max Mustermann
[0] => Max Mustermann
[year] => 44
[1] => 44
)
缺少“今天”和“月份”键
我做错了什么?您没有正确地将名字和姓氏串联在一起,您缺少AS关键字。更改:
SELECT CONCAT(customers_firstname, ' ', customers_lastname) name,
致:
ers_lastname缺少AS。你也没有先得到“dob”,把你的例子简化成一个失败的例子。在问答网站上询问其他问题是没有帮助的。另外,请明确您执行了正确的错误检查,以及您使用的是哪种SQL模式。
SELECT CONCAT(customers_firstname, ' ', customers_lastname) AS name,