Вы получаете эту ошибку, потому что $max
является объектом набора результатов, а не целочисленным значением записи, как вы пытаетесь его использовать.
Вы можете попробовать эту функцию, чтобы получить следующий идентификатор.
Модифицированная функция:
public function next_id(){
$this->db->select_max('p_ori_id', 'max');
$result = $this->db->get('orientation_master');
$row = $result->row_array();
$next_id = isset($row['max']) ? ($row['max']+1) : 1;
return $next_id;
}
Если столбец имеет автоинкремент, вы можете использовать приведенный ниже код.
Альтернатива:
public function next_id() {
$sql_string = "SELECT `auto_increment` FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '".$this->db->dbprefix."orientation_master'";
$query = $this->db->query($sql_string);
$row = $query->row_array();
return $row['auto_increment'];
}