Php 无法将DateTime转换为字符串PDO查询

Php 无法将DateTime转换为字符串PDO查询,php,string,datetime,Php,String,Datetime,我正在尝试将一个月添加到某个日期,然后保存新日期 使用以下代码将日期添加到数据库。但我似乎变得 “类DateTime的对象无法转换为字符串”时出错 最后一行是抛出错误的行。 当我var\u dump($newExpDate)我得到 字符串(10)“2015-07-05” 这对我来说似乎很奇怪,我不知道是否有人 你知道。。。? 多谢各位 对不起,伙计们,这是我问的一个错误。我很惭愧:(传递给的值应该是(字符串、整数等)。传递的第一个值,$newExpDate,是一个DateTime对象 使用$ex

我正在尝试将一个月添加到某个日期,然后保存新日期 使用以下代码将日期添加到数据库。但我似乎变得 “类DateTime的对象无法转换为字符串”时出错

最后一行是抛出错误的行。
当我
var\u dump($newExpDate)

我得到
字符串(10)“2015-07-05”

这对我来说似乎很奇怪,我不知道是否有人 你知道。。。? 多谢各位

对不起,伙计们,这是我问的一个错误。我很惭愧:(

传递给的值应该是(字符串、整数等)。传递的第一个值,
$newExpDate
,是一个
DateTime
对象


使用
$expDate->format('Y-m-d');
相反。

$expDate不是字符串,而是datetime对象。您已将:user_id分配为$expDate。我想您是想在此处执行其他操作。$newExpDate是字符串,语句的这一部分似乎是正确的。请重新查看所创建数组的第一个元素,并确保这确实是您想要执行的操作。

E并没有错,<代码> $NeXExtRe> <代码>,但是有“代码> $ExpDeDe[代码]是的,我的错误,谢谢!考虑关闭您的问题然后:
//New Expiration Date               
$expDate    = new DateTime('2015-06-05');
$expDate->add(new DateInterval('P1M'));
$newExpDate = $expDate->format('Y-m-d');

//Extend
$stmt = $this->connection->prepare(' UPDATE users SET valid_until = :new_expire_date WHERE user_id = :user_id ');
$stmt->execute(array(':user_id' => $expDate,':new_expire_date' => $newExpDate));