Я пытаюсь обновить строку с помощью сериализованного массива, но строка не обновляется, когда я запускаю приведенный ниже оператор SQL.
Однако, когда я просто использую слово типа TEST, вместо этого оно обновляется.
Любая помощь по устранению этой ошибки будет принята с благодарностью.
Возвращает 0 затронутых строк:
UPDATE lists SET col1 = 'a:9:{i:0;s:7:"English";i:1;s:7:"Spanish";i:2;s:6:"Korean";i:3;s:4:"Thai";i:4;s:0:"";i:5;s:0:"";i:6;s:0:"";i:7;s:0:"";i:8;s:0:"";}' WHERE list_id = '6'
Правильно обновляет строку:
UPDATE lists SET col1 = 'TEST' WHERE list_id = '6'
Нижетакое функция Codeigniter PHP:
public function update_field($table, $field, $value, $whereField = FALSE, $whereValue = FALSE )
{
$user_id = $this->session->userdata('user_id');
if ($whereField === FALSE) {
$sql = "UPDATE $table SET $field = '$value'";
$query = $this->db->query($sql);
} else {
$data = array(
$field => $value
);
$this->db->where($whereField, $whereValue);
$this->db->update($table, $data);
}
if ($this->db->_error_message()) {
echo 'Error Num: ' . $this->db->_error_number(); //returns 0 if query successful/no error
echo '<br />Message: ' . $this->db->_error_message();
}
}