根据我下面的代码,我试图创建一个如下所示的SQL查询:
update support_term set units_dk=$value['machines'] where support_acct='$key' and term_id=$term;
这是我用来尝试进行sql更新的PDO语句:
foreach($data as $key => $value) {
$setAccounts = $conn->prepare('UPDATE '.STERM_T.' SET units_dk=? WHERE support_acct=? and term_id=?');
$setAccounts->setFetchMode(PDO::FETCH_ASSOC);
$setAccounts->bindParam(1, $value['machines']);
$setAccounts->bindParam(2, $key);
$setAccounts->bindParam(3, $term);
echo 'Machines:' . $value['machines'] . '. Key:' . $key . '. Term:' . $term . PHP_EOL;
if(!is_null($key) || $key != '') {
$setAccounts->execute();
}
}
更新作为成功返回但是我没有看到相关记录正在更新。看看我在这里回应的是显示的内容:
Machines:38. Key:sc-ai. Term:1145
基于此,我构建了一个SQL更新:
update support_term set units_dk=38 where support_acct='sc-ai' and term_id=1145;
select term_id,support_acct,units_dk from support_term where support_acct='sc-ai' and term_id=1145;
结果:
因此您可以看到更新有效。那么为什么在通过PDO完成时不更新任何记录?