Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/05/2019, 09:12
Avatar de laureano59
laureano59
 
Fecha de Ingreso: febrero-2005
Mensajes: 395
Antigüedad: 19 años, 2 meses
Puntos: 1
Información PDO::prepare() no puedo hacer un insert

Muy buenos días.

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();
             }
        } 
2. Clase que hace la Conexión a la base de datos:

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;
     }

3. Database.php: $db_cfg = require_once("config/database.php");

Código PHP:
return array(
  
"dns"       =>"mysql",
  
"host"      =>"localhost",
  
"user"      =>"root",
  
"pass"      =>"",
  
"database"  =>"asistencia_avivamiento_bd",
); 
y por ultimo es una tabla con tres campos en la que solo le estoy guardando la identificacion de tipo varchar. los otros campos pueden estar vacíos.

Gracias por sus ayudas y orientación.
__________________
http://www.weblaum.com
Laureano Melo Medina
:arriba: