尝试使用php PDO update语句按id更新表上的数据

尝试使用php PDO update语句按id更新表上的数据,php,mysql,Php,Mysql,正在尝试使用php PDO update语句更新我的数据库表,该语句使用已存在的id更新表 如果设置为$\u POST[保存]{ $id=$\发布[保存]; $my_editor=$\u POST[my_editor]; $sql='UPDATE Advertd_composer SET content=:content,其中id=1'; $stmt=$connection->prepare$sql; $stmt->execute['my\u editor'=>$my\u editor',id'

正在尝试使用php PDO update语句更新我的数据库表,该语句使用已存在的id更新表

如果设置为$\u POST[保存]{ $id=$\发布[保存]; $my_editor=$\u POST[my_editor]; $sql='UPDATE Advertd_composer SET content=:content,其中id=1'; $stmt=$connection->prepare$sql; $stmt->execute['my\u editor'=>$my\u editor',id'=>$id]; 如果$stmt->rowCount{ $\会话['msg']=['type'=>'success','message'=>'Content created successfully']; }否则{ $\u会话['msg']=['type'=>'info','message'=>'创建内容时出错,请稍后再试']; } } 这就是我得到的错误

致命错误:未捕获PDOException:SQLSTATE[HY093]:参数无效 number:绑定变量的数量与中的令牌数量不匹配 /opt/lampp/htdocs/ubth_recruit/admin/advert_composer.php:16堆栈 跟踪:0 /opt/lampp/htdocs/ubth_recruit/admin/advert_composer.php16: PDOStatement->executeArray 1{main}被抛出 /第16行的opt/lampp/htdocs/ubth_recruit/admin/advert_composer.php


您的查询仅包含1个参数:内容

要么将:content改为:my_editor,要么反过来

另一个原因——正如评论中提到的——是id有一个固定值1。您应该将1更改为:id,或者从执行数组中删除该id

这解释了为什么会出现异常:

无效参数编号:绑定变量的数量与


这仅仅是因为在您的情况下,可用参数的数量只有1个,从查询中的:开始与执行中给定的参数2的数量不匹配。

my_editor!=内容-您正在绑定:查询中的内容,但尝试执行与my_编辑器的绑定。然后,您的ID在查询中被静态分配给1,您尝试在执行中绑定它。您正在尝试绑定ID,而您已经在查询中将其设置为1
$sql = 'UPDATE advert_composer SET content = :content  WHERE id = 1';