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.