Pero si le doy un valor que ya lo tiene en la base de datos, no graba (seguro), como es normal, pero luego SI que hace la consulta a ver si la conexion se ha hecho correctamente y me saca en pantalla que la conexion se ha hecho correctamente.
Y es que no entiendo que la primera parte del else no la hace y si que hace la segunda. ¿alguien tiene idea de pq?
Código PHP:
//consultamos en la BBDD si ya estaba el ingrediente, si está, no lo graba. Y manda un mensaje de alerta.
//ahora grabamos en la base de datos.
if (isset($_POST['enviar'])) {
if (isset($nombre) && $nombre=="") {
echo "<script>alert('Debes ingresar al menos el nombre del ingrediente')</script>";}
else {
$comprobando=mysql_query("Select * from ingredientes where nombre = '".@$_REQUEST['nombre']."'",$link);
if (mysql_num_rows($comprobando)!=0) {
echo "<script>alert('ESTE INGREDIENTE YA ESTA EN LA BASE DE DATOS. POR FAVOR, INSERTA OTRO')</script>";}
else
//echo "<br>Registro <b>".$_POST['nombre']."</b> ingresado en la BBDD, consultar al final de la misma si aparece.<BR>";
mysql_query("INSERT INTO ingredientes (nombre, familia, descripcion, precio_unidades, precio_decimales, kilo, unidad, gramo, litro) VALUES ('$nombre','$familia','$descripcion','$precio_unidades','$precio_decimales', $kilo, $unidad, $gramo, $litro)",$link);
// Ahora comprobaremos que todo ha ido correctamente
$my_error = mysql_error($link);
if (!empty($my_error)) {
echo "Ha habido un error al insertar los valores. $my_error";}
else {echo "Los datos han sido introducidos satisfactoriamente";}
// con este cierro si tiene que grabar porque no tiene el ingrediente(else)
}
//con este cierro comprobando si esta puesto el ingrediente(else)
}
//con este cierro el de si le ha dado a enviar (if)
}