昨天我曾与“PDO插入和更新这个话题。现在,这里是以下PDO执行给定的错误
Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in on line 148
这是我的代码。
$sth = $db->prepare(
'INSERT INTO track (`rsname`, `overallranknow`, `overalllevelnow`, `overallxpnow`)' .
'VALUES (:name, :Overalln, :Overall1, :Overall2) '.
'ON DUPLICATE KEY UPDATE ' .
"rsname = :name" .
"overallranknow = :Overalln" .
"overalllevelnow = :Overall1" .
"overallxpnow = :Overall2"
);
$sth->bindValue(':name', $name, PDO::PARAM_STR);
$sth->bindValue(':Overalln', $Overalln, PDO::PARAM_INT);
$sth->bindValue(':Overall1', $Overall[1], PDO::PARAM_INT);
$sth->bindValue(':Overall2', $Overall[2], PDO::PARAM_INT);
$sth->execute();
错误说我的执行线是错误的1.我已经尝试了一个数组,我仍然知道它,然后我希望也许知道我的意思
〜Kev(坏英语=抱歉)
您正试图插入5个字段(rsname,overallranknow,overalllevelnow和overallxpnow),但您只提供4个值(:name,:Overalln,:Overall1,:Overall2) - 您需要提供的值您设置的字段数量。 (a)删除一个字段名或(b)添加一个变量来保存该字段的值。 – enhzflep