首页 > 解决方案 > MySql php pdo 存储过程 PDOException: SQLSTATE[HY000]

问题描述

嘿。

执行代码时收到此错误消息?我从表格中发布值“2020-12-19” $data_input_textfield = $_POST["date"];。不知道 1989 是从哪里来的……

信息:

Exception has occurred.
PDOException: SQLSTATE[HY000]: General error: 1525 Incorrect DATE value: '1989'

编码:

$sql = "CALL booking_date_input($data_input_textfield)";
    $stmt = $dbh->getInstance()->prepare($sql);
    $stmt->execute();
    $date=$stmt->fetch();

最好的问候/Svante

标签: phpmysqlstored-procedurespdo

解决方案


您可以尝试一种稍微不同的方法,即为 sql 命令提供一个占位符并使用绑定到该占位符的变量执行语句 - 如下所示:

$sql = "CALL `booking_date_input`(:date);";
$stmt = $dbh->getInstance()->prepare($sql);
$stmt->execute(array(':date'=>$data_input_textfield));
$date=$stmt->fetch();

推荐阅读