Tengo un problema al usar PDO para hacer un insert a una tabla.
La versión que uso de PHP es la 7.2.
Esta forma de hacerlo la uso desde hace un tiempo y me funciona sin problemas, pues no sé porque ahora me presenta este problema.
Lo más curioso es que si hago un select lo hace sin problemas.
Voy a poner el código PHP por partes:
1. SQL donde hago el insert :
Código PHP:
require_once("core/models/class.Conexion.php");
class Registros {
private $con;
public function __construct(){
$this->con = new Conexion();
}
public function Registrar_Asistencia($identificacion){
try{
$query = $this->con->prepare('INSERT INTO asistencia (identificacion_mie) values (?)');
$query->bindParam(1,$identificacion);
$query->execute();
$this->con->close_con();
} catch(PDOException $e){
echo $e->getMessage();
}
}
Código PHP:
class Conexion extends PDO {
private $database;
private $host;
private $dbuser;
private $dns;
private $pass;
//private $port;
private $dbh;
public function __construct(){
try{
$db_cfg = require_once("config/database.php");
$this->dns = $db_cfg["dns"];
$this->database =$db_cfg["database"];
$this->host =$db_cfg["host"];
$this->dbuser =$db_cfg["user"];
$this->pass =$db_cfg["pass"];
//$this->tipo_de_base.':host='.$this->host.';dbname='.$this->nombre_de_base, $this->usuario, $this->contrasena
$this->dbh = parent::__construct($this->dns.':host='.$this->host.';dbname='.$this->database, $this->dbuser, $this->pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));
} catch(PDOException $e){
echo $e->getMessage();
}
}
//función para cerrar una conexión pdo
public function close_con(){
$this->dbh = null;
}
}
Código PHP:
return array(
"dns" =>"mysql",
"host" =>"localhost",
"user" =>"root",
"pass" =>"",
"database" =>"asistencia_avivamiento_bd",
);
Gracias por sus ayudas y orientación.