hola amigos el dia de hoytengo muchas dudas sobre pdo que aunque leo y leo encuentro muchas formas de hacer lo mismo, mas no encuentro lo que necesito
resulta que estoy aprendiendo a realizar conexiones e inserts y update etc.. con PDO
Mi idea es hacer todo con POO esto con el fin de evitar muchos dolores de cabeza y sobre todo repetir mucho codigo
un archivo que contiene las variables de conexion
y luego lo importe en mi case estudiante en la cual estoy tratando de insertar valores, pero no veo el error
Código PHP:
Ver original<?php
require_once '../conexion/Conexion.php';
class Estudiante
{
private $id;
private $nombres;
private $email;
private $con;
private $host = DB_HOST;
private $user = DB_USER;
private $pass = DB_PASS;
private $dbname = DB_NAME;
const TABLA='estudiantes';
//getters
public function getId()
{ return $this->id; }
public function getNombres()
{ return $this->nombres; }
public function getEmail()
{ return $this->email; }
//setters
public function setId($id)
{ $this->id = $id; }
public function setNombres($nombres)
{ $this->nombres = $nombres; }
public function setEmail($email)
{ $this->email = $email; }
//constructor
public function _construct($nombres,$email,$id)
{
$this->nombres=$nombres;
$this->email=$email;
$this->id=$id;
}
//metodos
public function guardar()
{
try {
$pdo = new PDO('mysql:host=' . $this->host . ';dbname=' . $this->dbname. ';charset=utf8', $this->user, $this->pass);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "INSERT INTO ".self::TABLA." (dni_estudiante, nombres, email) VALUES ('$this->id','$this->nombres','$this->email') ";
$stmt = $pdo->query($query);
foreach($stmt as $row)
echo $row[0] . '<br/>';
$pdo = null;
} catch (PDOException $e) {
print "¡Error!: " . $e->getMessage() . "<br/>";
}
}
}
$estudiante = new Estudiante('1','2','3');
$estudiante->guardar();
echo $estudiante->getNombres();
?>
el problema es que solo me esta insertando valores vacios..gracias a quien me pueda ayudar