I'm doing an exercise with PHP and MySQL where I make a form with a series of data. The telephone field allows null, so the user leaves it blank in the database I want it to be saved as NULL but I left a blank space.
Image of the BD:
PHP Code:
<?php
$correo = $_POST["correo"];
$nombre = $_POST["nombre"];
$password = $_POST["password"];
if(isset($_POST["telefono"]))
$telefono = $_POST["telefono"];
else
$telefono = NULL;
if(isset($_POST["publicidad"]))
$publicidad = 1;
else
$publicidad = 0;
$conexion = mysqli_connect("localhost","root","","bdusuarios");//Conexion BD
$consulta = "INSERT INTO usuarios VALUES(DEFAULT,'".$correo."','".$nombre."','".$password."',DEFAULT,".$publicidad.",'".$telefono."');";//ConsultaSQL
$consulta_correo = "SELECT * FROM usuarios WHERE correo = '".$correo."'"; //Consulta para comprobar el correo
$resultado = mysqli_query($conexion,$consulta_correo);//Comprobacion del correo
if(mysqli_num_rows($resultado) == 0)//Si la consulta del correo es 0, es porque no existe ese correo en la BD y se puede registrar
{
if(mysqli_query($conexion,$consulta))//Si la consulta es correcta...
{
echo "<h3>Usuario registrado correctamente</h3>";
echo "Filas afectadas: ".mysqli_affected_rows($conexion);;
}
else
{
echo "Error al registrar el usuario";
}
}
else////Si la consulta del correo es distinto de 0, es porque ya hay un usuario con ese correo
{
echo "<h3>Ya existe un usuario con ese correo</h3>";
}
?>