Problem with mysqli_insert_id - Class

0

I have a problem getting the last id inserted in a table, because it is returning empty. I searched the stack but could not find a solution.

Script to include information in DB:

if ( isset( $_GET['create'] ) )
{
    if ( isset( $_POST['dep_nome'] ) )
    {
        $noticia_title = trim( $_POST['dep_nome'] );
        $noticia_content = trim( $_POST['dep_content'] );
        $db->query( "insert into departamentos (dep_nome, dep_content) values ('$dep_nome','$dep_content');" );
        $dep_id = $db->insert_id;
        @header( "Location: departamentos.php?edit=$dep_id" );  
    } 
}

Class with insert_id (COMMENT: CLASS INSERT ID):

public $query;
public $data;
public $result;
public $rows;
protected $config;
protected $host;
protected $port;
protected $user;
protected $pass;
protected $dbname;
protected $con;

public function __construct()
{
    try
    {
        #array com dados do banco
        include 'database.conf.php';
        global $databases;
        $this->config = $databases['local'];
        # Recupera os dados de conexao do config
        $this->dbname = $this->config['dbname'];
        $this->host = $this->config['host'];
        $this->port = $this->config['port'];
        $this->user = $this->config['user'];
        $this->pass = $this->config['password'];
        # instancia e retorna objeto
        $this->con = $this->con = @mysqli_connect( "$this->host", "$this->user", "$this->pass","$this->dbname");
        //@mysql_select_db( "$this->dbname" );
        if ( !$this->con )
        {
            throw new Exception( "Falha na conexão MySql com o banco [$this->dbname] em database.conf.php" );
        }
        else
        {
            return $this->con;
        }
    }
    catch ( Exception $e )
    {
        echo $e->getMessage();
        exit;
    }
    return $this;
}

public function query($query = '' )
{
    try
    {
        if ( $query == '' )
        {
            throw new Exception( 'mysql query: A query deve ser informada como parâmetro do método.' );
        }
        else
        {
            $this->query = $query;
            $this->result = mysqli_query($this->con, $this->query );
    $this->insert_id = mysqli_insert_id($this->con); // CLASS INSERT ID
        }
    }
    catch ( Exception $e )
    {
        echo $e->getMessage();
        exit;
    }
    return $this;
}

public function fetchAll()
{
    $this->data = "";
    $this->rows = 0;
    while ( $row = @mysqli_fetch_array( $this->result, MYSQLI_ASSOC ) )
    {
        $this->data[] = $row;
    }
    if ( isset( $this->data[0] ) )
    {
        $this->rows = count( $this->data );
    }
    return $this->data;
}

Can anyone help me? The result in GET has only been "departments.php? Edit=" and has not returned the ID entered through $ db-> insert_id.

I already looked at the documentation and could not solve it.

    
asked by anonymous 06.04.2018 / 15:43

0 answers