代码问题
我得到
致命错误:未被捕获的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。
如果觉得前端之家所整理的内容很不错的话,欢迎点击下方分享按钮,转发给身边开发程序员好友。