我在这个页面上了解到 foreach 很快,对数据库的查询不是。所以我试图做一个单一的 UPDATE 查询,但它不起作用:
$array = '';
foreach ($myar as $key => $value) {
$array .= " (name='$value' WHERE lid='$key'), ";
}
$link1 = $db->prepare("UPDATE leyes SET $array");
$link1->execute();
我收到一个错误:致命错误:未捕获异常 'PDOException' 并带有消息 'SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误
一种解决方案:
$array = '';
foreach ($myarr as $key => $value) {
$array .= " WHEN '$key' THEN '$value' ";
}
$array .= " ELSE name
END";
$link1 = $db->prepare("UPDATE table SET name = CASE id $array");
$link1->execute();