0
PDOStatement :: execute()[pdostatement.execute]:SQLSTATE [HY093]:无效参数编号:绑定变量数不匹配即时获取此错误为什么?列名是正确的。PDOStatement :: execute()[pdostatement.execute]:SQLSTATE [HY093]:无效
$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));
你为什么要追加'$ id'直接查询?准备好陈述的唯一方法就是正确使用它们。 –
你是对的,但是,它有问题吗? – hakiko
可能。 '$ id'包含什么?如果它包含'?'或者':',那么它可以被解释为参数。或者更糟糕的是,如果我使用SQL注入来打破您的查询;) –