Я хочу обновить несколько данных из массива, где условие (2 сообщения значение)
$markid=50008; (Post Item)
$ass='Att1';(Post Item)
$data=array( 'regno'=>$regno,'assmark'=>$assmark);
$query="update pre_marks set $ass=$assmark where regno=$regno and markid=$markid" ;
$this->db->query($query);
Мой вывод должен быть
Array
(
[regno] => 210417103001
[Att1] => 58
)
Array
(
[regno] => 210417103002
[Att1] => 23
)
Array
(
[regno] => 210417103003
[Att1] => 20
)
Array
(
[regno] => 210417103004
[Att1] => 45
)
Array
(
[regno] => 210417103005
[Att1] => 25
)
Array
(
[regno] => 210417103006
[Att1] => 0
)
Это тоже сработало. Но ошибка приходит
Произошла ошибка базы данных Номер ошибки: 1064
У вас ошибка в синтаксисе SQL; проверьте руководство, которое
соответствует вашей версии сервера MariaDB для правильного использования синтаксиса
около 'где regno = и markid = 50009' в строке 1
обновить pre_marks set Att1 = где regno = и markid = 50009
Имя файла:
C: /xampp/htdocs/Admin-Panel/system/database/DB_driver.php
Номер строки: 691
Как это решить?
<code>$markid = $this->input->post('markid');
$ass = $this->input->post('sel_ass1');
for($i=12;$i<=$i+6;$i++) {
$regno= $objWorksheet->getCellByColumnAndRow(2,$i)->getValue();
$assmark= $objWorksheet->getCellByColumnAndRow(5,$i)->getValue();
$data=array('regno'=>$regno,$ass=>$assmark);
echo '<pre>';
print_r($data);
echo '
';
$ this-> db-> where (['regno' => $ regno, 'markid' => $ markid]);
$ this-> db-> update ('pre_marks', [$ ass => $ assmark]);
if ($ this-> db-> disabled_rows ()> 0) {
вернуть ИСТИНА;
}
еще {
вернуть ЛОЖЬ;
}
}