Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

182
Vistas
PHP + MySQLi Query post fila nula

queridos usuarios de Stackoverflow, empiezo a aprender PHP y MySQLi. Y ahora tengo algunos problemas. En cada recarga de página en DB, se agregó 1 fila vacía completa, cada celda es nula. ¿Alguien puede darme un consejo sobre el problema? Código a continuación:

PHP antes de la etiqueta html :

 <?php $mysqli = new mysqli("", "", "", ""); $mysqli->set_charset('utf8'); $name = $mysqli->real_escape_string($_POST['name']); $email = $mysqli->real_escape_string($_POST['email']); $link = $mysqli->real_escape_string($_POST['link']); $query = "INSERT INTO demos (name, email, link) VALUES ('$name', '$email', '$link')"; $mysqli->query($query); $mysqli->close(); ?>

HTML dentro de la etiqueta del cuerpo :

 <form action="" method="post"> <input type="text" name="name" maxlength="20" required /> <input type="text" name="email" required /> <input type="text" name="link" required /> <input type="submit" value="Send" /> </form>
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Primero debe verificar si su formulario se envía utilizando isset o ! vacío

Al usar isset, puede verificar si una variable está configurada o no:

 <?php if(isset($_POST['name']) && isset($_POST['email']) && isset($_POST['link'])) { // your code } ?>

Al usar !empty, puede verificar si una variable está configurada y no está vacía. Sin embargo, tenga en cuenta que si está utilizando vacío, no puede enviar un '0' o dejar un campo en blanco.

 <?php if(!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['link'])) { // your code } ?>

Intente usar una declaración preparada para facilitar el uso y la protección de la inyección de SQL :

 $stmt = $mysqli->prepare("INSERT INTO demos (name, email, link) VALUES(?, ?, ?)"); $stmt->bind_param("sss", $name, $email,$link); $stmt->execute();

Lea más sobre declaraciones preparadas:https://www.w3schools.com/php/php_mysql_prepared_statements.asp

over 4 years ago · Santiago Trujillo Denunciar

0

Use var_dump para depurar su código para asegurarse de que los valores no sean nulos

Agregue esto antes y después de escapar de las cadenas:

 var_dump(array($name, $email, $link));

Además, cambie a usar declaraciones preparadas

 $stmt = $mysqli->prepare("INSERT INTO demos (name, email, link) VALUES (?,?,?)"); $stmt->bind_param('sss', $name, $email, $link); // bind vars to the parameter $stmt->execute(); // Execute statement
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda