Hola a todos, actualmente he comenzado a trabajar con PDO y PHP y he tenido un problema con la inserción de registros a la BD (MySQL), la página no me lanza ningún error de codificación, pero al momento de insertar los registros, estos no se muestran en la BD, este es mi código:
Código HTML:
Ver original<form method = "POST" action = "procesarRegs.php" name = "frmPrincipal"> <table border = "8" align = "Center" cellspacing = "2" cellpadding = "2">
<th>Codigo del curso
</th> <td> <input type = "text" name = "txtCodigo"/> </td>
<th>Acción formativa
</th> <td> <input type = "text" name = "txtAccion"/> </td>
<td> <input type = "text" name = "txtFechaI"/> </td>
<th>Fecha de termino
</th> <td> <input type = "text" name = "txtFechaT"/> </td>
<th> Fecha de recepción de expediente
</th> <td> <input type = "text" name = "txtFechaEx"/> </td>
<select name = "selEstrategia"> <option value = "C/Tecnologico"> Centro Tecnologico
</option>
<th> Fecha de elaboración de certificados
</th> <td> <input type = "text" name = "txtFechaEla"/>
<th> Tiempo de elaboración de certificados
</th> <td> <input type = "text" name = "txtTiempo"/></td>
<td><input type = "submit" name = "btnEnviar" value = "Registrar"/></td>
<td><a href = "reporte.php"> Reportes
</a></td>
Código PHP:
<?php
require_once("class.php");
$var = new Procesos();
$var->insertarRegistros();
?>
Código PHP:
public function insertarRegistros()
{
// Campos
$codigo = $_POST["txtCodigo"];
$Accion = $_POST["txtAccion"];
$fecha_i = $_POST["txtFechaI"];
$fecha_t = $_POST["txtFechaT"];
$fecha_ex = $_POST["txtFechaEx"];
$fecha_ela = $_POST["txtFechaEla"];
$obs = $_POST["txtObserv"];
$estra = $_POST["selEstrategia"];
$value = 45;
try
{
$dbh = new PDO("mysql:dbname=infotep","root","abcd6696");
}
catch (PDOException $e)
{
echo "Connection Failed " . $e.getMessage();
}
$sql = "Insert into Certificados Values (null,:Cod,:Accion,:inicio,:termino,:recepcion,:estrategia,:certificados,:tiempo,:obs)";
$param = $dbh->prepare($sql);
try
{
$param->bindValue(':Cod',$codigo,PDO::PARAM_INT);
$param->bindValue(':Accion',$Accion,PDO::PARAM_STR);
$param->bindValue(':inicio',$fecha_i,PDO::PARAM_STR);
$param->bindValue(':termino',$fecha_t,PDO::PARAM_STR);
$param->bindValue(':recepcion',$fecha_ex,PDO::PARAM_STR);
$param->bindValue(':estrategia',$estra,PDO::PARAM_STR);
$param->bindValue(':certificados',$fecha_ela,PDO::PARAM_STR);
$param->bindValue(':tiempo',$value,PDO::PARAM_INT);
$param->bindValue(':obs',$obs,PDO::PARAM_STR);
}
catch (PDOException $e)
{
echo e.getMessage();
}
$param->execute();
print_r($param);
}
}
He probado muchas alternativas, como usar el método bindParam o pasarle un arreglo al método execute() y nada.. Repito, la página no me lanza error, pero los registros no se guardan en la tabla. Cuando uso el print_r($param) para ver que recibe, este no esta pasando nada. Ojala y puedan ayudarme.
Gracias de antemano. :)