Sentencia de insert no inserta nada a la BD y no muestra error – php mysqli

Pregunta:


Tengo esta sentencia preparada para insertar datos, aunque los recibe y sale que se inserto no inserta nada en la base de Datos:

Echo de las variables:

 echo "<br>".$unidad;
 echo "<br>".$cedula1;
 echo "<br>".$cedula2;
 echo "<br>".$cedula3
 echo "<br>".$articulo_falta;
 echo "<br>".$aparte_falta;
 echo "<br>".$documentos_implode;
 echo "<br>".$fecha_inicio;
 echo "<br>".$fecha_termino;
 echo "<br>".$dias;
 echo "<br>".$aclaratoria;
 echo "<br>".$estado_sancion_id;
 echo "<br>".$tipo_medida;
 echo "<br>".$tipo_circunstancia;
 echo "<br>".$atenuantes_implode;
 echo "<br>".$agravantes_implode;
 echo "<br>".$total_demerito;
 echo "<br>".$lugar;

Datos de los Echo

033100000000
17739707
8644097
8644097
35
1
2-1
2017-03-23
2017-03-24
1
qwrqwrwq
1
2
40
3-4
0
6.55
2

Sentencia

$stmt = $conexion->prepare("INSERT INTO sanciones (
      unidad,
      cedula_sancionado,
      cedula_sancionador, 
      cedula_superior, 
      articulo_falta, 
      aparte_falta, 
      documento_seleccion,
      fecha_inicio, 
      fecha_termino, 
      dias_sancion, 
      aclaratoria_sancion, 
      estado_sancion_id,
      medida_id,
      articulo_circunstancias,
      agravante_seleccion, 
      atenuante_seleccion, 
      total_demerito, 
      estado_lugar_id) 
      VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
var_dump($stmt);

$stmt->bind_param("siiiiisssisiiissdi"
 ,$unidad
 ,$cedula1
 ,$cedula2
 ,$cedula3
 ,$articulo_falta
 ,$aparte_falta
 ,$documentos_implode
 ,$fecha_inicio
 ,$fecha_termino
 ,$dias
 ,$aclaratoria
 ,$estado_sancion
 ,$tipo_medida
 ,$tipo_circunstancia
 ,$agravantes_implode
 ,$atenuantes_implode
 ,$total_demerito
 ,$lugar);
$stmt->execute();

var_dump($stmt);

if ($stmt){
echo ('<script>alert("OMD generada satisfactoriamente!");</script>');
/*echo ("<script>window.location = 'menu_unidades.php';</script>");*/
$stmt->close();
}else{
    echo ('<script>alert("No se pudo generar la OMD");</script>');
    echo ("<script>window.location = 'menu_generar_omd_unidades.php';</script>");
}

Sale “OMD generada satisfactoriamente” pero no inserta en la base de datos

Empezo a fallar cuando agregue $unidad a la insercion. la tabla tiene 19 campos (uno es el ID autoincremental)

El problema era que cuando la persona ingresaba algun dato este se ponia disabled, para evitar eso decidi clonar los campos de texto y al ser llenado un campo este obtenia su valor, resulta que varios valores INT se convertian a STRING procedi a multiplicar por 1 las variables

Ahora me da error el bind_param

Preguntado por: Victor Alvarado

Prueba lo siguiente, devuelve un booleano:

if($stmt->execute()){
    //...
}else{
    //...
}   

Fuente

Tags:,

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *