致命错误:未捕获的PDOException:SQLSTATE [HY093]:无效的参数编号:参数未定义

我得到

  

致命错误:未被捕获的PDOException:SQLSTATE [HY093]:无效的参数编号:参数未定义” ... PDOStatement-> execute()#1 {main}抛出61行。61行为$ stmt-> execute ();

$add_joke = filter_input(INPUT_POST,'add_joke');

if ($add_joke != NULL){
    $actual_date = date('Y-m-d');
    $actual_id = null;

    $sql = 'INSERT INTO joke (id,JokeText,Joke Date) VALUES (:id,:JokeText,:Joke Date)';
    $stmt = $pdo->prepare($sql);
    $stmt->bindParam(':id',$actual_id);
    $stmt->bindParam(':JokeText',$add_joke);
    $stmt->bindParam(':Joke Date',$actual_date);
    $stmt->execute();

}
megeter 回答:致命错误:未捕获的PDOException:SQLSTATE [HY093]:无效的参数编号:参数未定义

您正在使用MySQL吗?无论如何,请尝试更改Actual_id的代码:将其更改为0或从查询中删除它,并将其指定为表中的自动增量主键。如果您真的想添加NULL值(出于任何原因),只需从查询中将其删除并将表字段设置为可空即可。

也不确定是否可以在':Joke Date'中使用空格

最后,使用类似的东西不是一个好主意

if ($add_joke != NULL)

在PHP代码中

,

可能的问题是您使用了“笑话日期” ,其中有空格。

您的命名似乎有些混乱。你可以改变 将日期设置为JokeDate或Joke_Date或joke_date或根据日期约定创建日期或date_date。

本文链接:https://www.f2er.com/3169262.html

大家都在问