我有一个PDO语句的for循环,我希望它做两件事。在称为$ data的数组数组中从用户设备接收数据。我想将每一行插入一个名为'theJack'的表中。这部分工作正常。
然后我希望另一个语句来检查$ data表中的[userName]和[id],并在theJack中更新一个列([Synched]值'Y'或'N')[userName]和[id ]两个表都匹配。到目前为止,我有这个(现在只用[userName]进行测试):
for($i = 0; $i<count($data); ++$i) {
$row = $data[$i];
$userName = $row[userName];
$STH = $conn->prepare("INSERT INTO theJack (id, phoneID, userName, noDeer, Lat, Lon, Acc, Time, Synched) value (:id, :UUID, :userName, :noDeer, :lat, :lng, :accuracy, :timestamp, :synched)");
$UPD = $conn->prepare("UPDATE theJack SET Synched = 'Y' WHERE userName= :userName");
$UPD->bindParam(':userName', $userName);
$STH->execute($row);
$UPD->execute($row);
}
$ row是输入$ data数组中的每一行。 $ row [userName]是该行中的userName。 $ STH是INSERT语句,$ UPD是UPDATE语句。
到目前为止,INSERT语句本身可以正常工作。添加UPDATE语句也一直有效,直到我尝试添加WHERE子句。
只是添加,我得到一些绑定变量与令牌错误数量不匹配。
答案 0 :(得分:0)
又一个愚蠢的错字问题。
$UPD->execute();