$d = $_SESSION['post'];
unset($_SESSION['post']);
foreach($d as $k => $v) {
\sys\CDatabase::query('UPDATE sportart SET
name = "?name",
reihenfolge = "?reihenfolge"
WHERE sportart_id = "?id"',array(
'name'=>$v['name'],
'reihenfolge'=>$v['reihenfolge'],
'id'=>$k
),'none');
}
需要这个代码的快速帮助,每次我尝试它时都会出现错误
Illegal string offset 'name'
答案 0 :(得分:0)
数组$d
包含混合类型的值。其中一个值是一个字符串(一种模型名称,根据您的评论:"model" => "models\BackendSportartenAendern"
)。
因此错误:您正在尝试将字符串用作(子)数组。
修复代码的一种简单方法是修改循环,以便跳过非数组值:
foreach($d as $k => $v) {
if (!is_array($v)) {
continue;
}
\sys\CDatabase::query(...);
}