PDO::P ARAM的日期?

2022-08-30 08:27:31

是否存在一些可用于日期或时间戳的时间戳?PDO::PARAM_???

示例代码:

$sql = "UPDATE my_table SET current_date = :date WHERE id = 43";
$statement = $pdo->prepare ($sql);
$statement->bindValue (":date", strtotime (date ("Y-m-d H:i:s")), PDO::PARAM_STR);
$statement->execute ();

答案 1

在SQL查询中写入日期时,将其编写为字符串;您必须对预准备语句执行相同的操作,并使用 ,就像您在建议的代码部分中所做的那样。PDO::PARAM_STR

对于“时间戳”,如果“时间戳”的意思是:

  • MySQL时间戳数据类型:它是相同的,您将将其作为string
  • PHP Unix 时间戳,它是一个整数:您将给它传递一个 .int

答案 2

只需使用php日期函数创建日期就可以为您解决此问题。

$handle->execute(array(":date"=>date("Y-m-d H:i:s", strtotime($date)), PDO::PARAM_STR));

编辑:请注意,(http://php.net/manual/en/function.strtotime.php)无法处理每种日期格式。strtotime


推荐