首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDOStatement::execute() [pdostatement.execute]:SQLSTATE[HY093]:无效

PDOStatement::execute() [pdostatement.execute]:SQLSTATE[HY093]:无效
EN

Stack Overflow用户
提问于 2014-02-28 19:52:49
回答 1查看 76关注 0票数 0

PDOStatement::execute() pdostatement.execute: SQLSTATEHY093:无效的参数号:绑定变量的数量与收到此错误的 im中的令牌数不匹配,为什么?列名是正确的。

代码语言:javascript
复制
$baslik         = $_POST["makale_basligi"];
$icerik         = trim($_POST["makale_icerigi"]);
$meta_desc      = $_POST["makale_meta_description"];
$id             = $_POST["makale_id"];
$kategori       = $_POST["makale_kategorisi"];
$makale_link    = convertTextToLinkFormat($baslik);

$update_makale  = $db->prepare("UPDATE makale SET "
        . "makale_kategorisi        = :kategori,"
        . "makale_link_baslik       = :link,"
        . "makale_baslik            = :baslik, "
        . "makale_icerik            = :icerik, "
        . "makale_meta_description  = :desc WHERE makale_id = '".$id."' ");
$update_makale->execute(array(':kategori'=>$kategori,':link'=>$makale_link ,':baslik' =>$baslik,':icerik' =>$icerik,':desc' =>$meta_desc));
EN

回答 1

Stack Overflow用户

发布于 2014-03-01 14:17:59

我认为硬编码$id值并将其与PDO参数混合并不是一个好主意。它容易出错,而且Id被定义为表中的int,那么为什么要引用它呢?

将其与其他参数一起放在数组中:

代码语言:javascript
复制
$update_makale  = $db->prepare("UPDATE makale SET "
        . "makale_kategorisi        = :kategori,"
        . "makale_link_baslik       = :link,"
        . "makale_baslik            = :baslik, "
        . "makale_icerik            = :icerik, "
        . "makale_meta_description  = :desc WHERE makale_id = :id");

$update_makale->execute(array(
    ':kategori' => $kategori,
    ':link' => $makale_link,
    ':baslik' => $baslik,
    ':icerik' => $icerik,
    ':desc' => $meta_desc,
    ':id' => $id
));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22104592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档