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

Php 致命错误:未捕获PDOException:SQLSTATE[HY093]:无效参数编号:未定义参数,php,database,Php,Database,我得到一份工作 致命错误:未捕获PDOException:SQLSTATE[HY093]:无效参数编号:未定义参数“…PDOStatement->execute()#1{main}在第61行抛出。第61行为$stmt->execute() $add_joke=filter_input(input_POST,'add_joke'); 如果($add_!=NULL){ $actual_date=日期('Y-m-d'); $actual_id=null; $sql='插入笑话(id、笑话文本、笑话日期

我得到一份工作

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

$add_joke=filter_input(input_POST,'add_joke');
如果($add_!=NULL){
$actual_date=日期('Y-m-d');
$actual_id=null;
$sql='插入笑话(id、笑话文本、笑话日期)值(:id、:笑话文本、:笑话日期)';
$stmt=$pdo->prepare($sql);
$stmt->bindParam(':id',$actual\u id);
$stmt->bindParam(':JokeText',$add_-joke);
$stmt->bindParam(“:笑话日期”,“实际日期”);
$stmt->execute();
}

您正在使用MySQL吗?无论如何,请尝试更改实际id的代码:将其更改为0或从查询中将其删除,并将其指定为表中的自动递增主键。如果确实要添加NULL值(出于任何原因),请从查询中将其删除,并使表字段为NULL

也不确定是否可以在“:笑话日期”中使用空格

最后,使用类似于

if ($add_joke != NULL)

在PHP代码中,您是否在使用MySQL?无论如何,请尝试更改实际\u id的代码:将其更改为0或从查询中删除,并将其指定为表中的自动递增主键。如果确实要添加NULL值(出于任何原因),只需从查询中删除它,并使表字段为NULL即可

也不确定是否可以在“:笑话日期”中使用空格

最后,使用类似于

if ($add_joke != NULL)

在PHP代码中,可能存在的问题是使用了带有空格的“笑话日期”

你的名字似乎有点混乱。你可以改变
笑话日期到笑话日期或笑话日期或笑话日期,或仅根据您的命名约定创建日期或日期。

可能的问题是您使用了带有空格的“笑话日期”

你的名字似乎有点混乱。你可以改变
笑话日期到笑话日期或笑话日期或笑话日期或简单日期或日期创建取决于您的命名约定。

正如您所说,如果id是主键,您不会插入它。但我猜OP会发现这将是下一个问题。对不起,我错了,必须是自动递增的,我将按照您所说的立即编辑,如果id是您要输入的主键o不插入它。但我猜OP会发现下一个问题。对不起,我错了,必须是自动递增的,我现在就编辑