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

2023-03-22
前端之家小编收集整理的致命错误:未捕获的PDOException:SQLSTATE [HY093]:无效的参数编号:参数未定义内容,希望整理的这个开发编程问题致命错误:未捕获的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();

}

问题答案

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

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

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

if ($add_joke != NULL)

在PHP代码中

,

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

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

如果觉得前端之家所整理的内容很不错的话,欢迎点击下方分享按钮,转发给身边开发程序员好友。

编程问答


是否可以将 Python 程序转换为 C/C++? 我需要实现几个算法,我不确定性能差距是否足以证明我在 C/C++ 中执行它时所经历的所有痛苦(我不擅长)).我想写一个简单的算法,并根……
我想使用 NTT 进行快速平方(请参阅快速 bignum 平方计算),但即使对于非常大的数字……超过 12000 位.
C++ 标准在 3.3.2声明点\"中包含一个半著名的令人惊讶\"名称查找示例: int x = x; 这用自身初始化 x,它(作为原始类型)未初始化,因此具有不确定的值(假设它是一个自动变……
以下代码: myQueue.enqueue(\'a\'); myQueue.enqueue(\'b\'); cout << myQueue.dequeue() << myQueue.dequeue();
据我所知,写时复制不是在 C++11 中实现符合标准的 std::string 的可行方法,但是当它最近在讨论中出现时,我发现我自己无法直接支持这种说法.