PHP - Conexión a base de datos

 
Vista:
Imágen de perfil de Lucas
Val: 87
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Conexión a base de datos

Publicado por Lucas (46 intervenciones) el 25/04/2020 17:01:04
Sigo intentando realizar un formulario que conecte con una base de datos MYSQL, en este caso estoy intentando con programación orientada a objetos. Hay un error que no me permite conectar con el servidor pero no lo logro identificar.
Adjunto los archivos para que lo puedan analizar, gracias de antemano!
Formulario HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Formulario</title>
</head>
<body>
    <form name="form" method="post" action="formulario.php">
        <div class="comunes">
            <label for="fecha">Fecha</label>>
                <input type="date" name="fecha">
            <label for="lote">Lote</label>
                <input name="lote" type="text">
        </div>
        <div class="cuerpo">
            <label for="nombre">Nombre<input type="text" name="nombre"></label>
            <input type="number" name="elemento1">
            <input type="number" name="elemento2">
            <input type="number" name="elemento3">
 
            <input type="submit" value="Listo" name="listo">
        </div>
        </div>
    </from>
</body>
</html>

Documento PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
if(isset($_POST["listo"])){
$nombre=$_POST["nombre"];
$fecha=$_POST["fecha"];
$elemento1=$_POST["elemento1"];
$elemento2=$_POST["elemento2"];
$elemento3=$_POST["elemento3"];
$lote=$_POST["lote"];
$suma=$elemento1+$elemento2+$elemento3;}
 
$conexion= new mysqli ("localhost", "root", "", "formulario");
 
if($conexion->errno){
    echo "fallo de conexión" . $conexion->connect_errno;
}
 
$conexion->set_charset("utf8");
$insertar="INSERT INTO DATOS(LOTE, FECHA, NOMBRE, ELMENTO1, ELEMENTO2, ELEMENTO3, SUMA) VALUES('$lote',$fecha, '$nombre', $elemento1, $elemento2, $elemento3, $suma)";
$ejecucion=$conexion->query($insertar);
if($conexion->errno){
    echo "fallo la conexión" . $conexion->connect_errno;      //ESTE ES EL QUE SE IMPRIME EN PANTALLA, NO EL ANTERIOR
}
?>
Anotacion-2020-04-25-165936
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Conexión a base de datos

Publicado por Julio (830 intervenciones) el 25/04/2020 17:53:16
Sin embargo no te imprime el error.

¿Cómo tienes el campo fecha en la base de datos? Porque lo guarda como cadena y tú no se lo estás pasando como cadena. Prueba a mirar eso.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Lucas
Val: 87
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Conexión a base de datos

Publicado por Lucas (46 intervenciones) el 25/04/2020 18:40:19
Lo tengo como 'Date', pero lo cambia a 'Varchar' y agregué las comillas en el código PHP y aun así el error persiste. Sigo preguntando
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lucas
Val: 87
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Conexión a base de datos

Publicado por Lucas (46 intervenciones) el 25/04/2020 18:42:43
Agrego también la base de datos vista desde PHPmyadmin
Anotacion-2020-04-25-184228
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Conexión a base de datos

Publicado por Julio (830 intervenciones) el 25/04/2020 18:45:34
Hombre, sí ahí tienes que todo son enteros y en la consulta se lo pasas como comillas, ¿no te fallará? No recuerdo si hace el cambio automáticamente o falla, pero o quitas las comillas en lote y nombre, o en la base de datos pones que son varchar.

Prueba a ver si es ahí donde está el fallo. Si le pones de nombre "Juan" y en la base de datos está esperando un entero, debería fallar.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Lucas
Val: 87
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Conexión a base de datos

Publicado por Lucas (46 intervenciones) el 25/04/2020 18:49:14
Anotacion-2020-04-25-184755
Hecho, aun así el error persiste :(
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Conexión a base de datos

Publicado por Julio (830 intervenciones) el 25/04/2020 18:58:42
¿Si ejecutas la consulta directamente en phpMyAdmin te da algún error?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Lucas
Val: 87
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Conexión a base de datos

Publicado por Lucas (46 intervenciones) el 25/04/2020 19:32:15
No, ninguno, es muy extraño
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Conexión a base de datos

Publicado por Julio (830 intervenciones) el 25/04/2020 19:35:24
Entonces parece que no está conectando bien a la base de datos.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lucas
Val: 87
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Conexión a base de datos

Publicado por Lucas (46 intervenciones) el 25/04/2020 20:10:25
Cambiando algunos datos en ese mismo documento puedo hacer que complete otra tabla que tengo en la misma base de datos, asi que el problema debe ser otro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Conexión a base de datos

Publicado por Julio (830 intervenciones) el 25/04/2020 20:14:37
Coloca el código de mostrar errores en PHP, imprime todas las variables que puedas con var_dump para comprobar qué hay en cada momento y en cada caso...

En definitiva, depura paso a paso lo que hace el programa en cada momento para ver si encuentras dónde falla.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Lucas
Val: 87
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Conexión a base de datos

Publicado por Lucas (46 intervenciones) el 25/04/2020 20:45:59
Fallo encontrado!! La variable $fecha pese a ser un 'Date' y no un 'Varchar' tenía que ir entre comillas, y un "Elemento" estaba escrito como "Elmento". Te agradezco por todo!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar