このコードは私にこのエラーを与えています: 無効なパラメーター番号: バインドされた変数の数がトークンの数と一致しません
$fields[':email']=$_GET["email"];
$fields[':password']=$_GET["password"];
$fields[':telefono']=$_GET["telefono"];
$fields[':old_email']=$_GET["old_email"];
$fields[':isAdmin']=0;
$qry.="UPDATE utente SET Email:=email, Password:=password ,Telefono:=telefono, isAdmin=:isAdmin WHERE Email=:old_email";
$sth=$CONNESSIONE->prepare($qry);
$sth->execute($fields);
フィールドの var_dump はこれを出力します
array(5) { [":email"]=> string(5) "test2" [":password"]=> string(1) "b" [":telefono"]=> string(7) "0415600" [":old_email"]=> string(4) "test" [":isAdmin"]=> int(0) }
そして私のテーブルはこれです
CREATE TABLE IF NOT EXISTS `utente` (
`Email` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
`Password` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
`Telefono` varchar(150) COLLATE utf8_unicode_ci NOT NULL,
`isAdmin` tinyint(1) NOT NULL,
UNIQUE KEY `Email` (`Email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
なぜこれが機能しないのですか?