Foros del Web » Programando para Internet » PHP »

mysql me tira un error sobre @hotmail.com

Estas en el tema de mysql me tira un error sobre @hotmail.com en el foro de PHP en Foros del Web. hola, cuando intento ejecutar unos archivos me sale este error: You have an error in your SQL syntax; check the manual that corresponds to your ...
  #1 (permalink)  
Antiguo 29/01/2014, 16:02
Avatar de manunores  
Fecha de Ingreso: enero-2014
Mensajes: 39
Antigüedad: 10 años, 2 meses
Puntos: 0
mysql me tira un error sobre @hotmail.com

hola, cuando intento ejecutar unos archivos me sale este error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@gmail.com' at line 1

mi formulario es asi:
<form action="procesarpublicacion.php" method="post" name="form" >
Título : <input type="text" name"nombre" ><br>
Autor : <input type="text" name="autor"><br>
Descripción : <textarea name="descripcion"></textarea><br>
Año de publicación : <input type="number" name="ano" ><br>
Cooperación de : <input type="text" name="cooperacion"><br>
Foto : <input type="file" name="foto"><br>
Archivo PDF: <input type="file" name="pdf"><br>
<input type="submit" value="Cargar Datos">



</form>

y mi procesador php es asi:



<?php
include ('config.inc');
echo include("header2.inc");



if(
isset($_POST["nombre"]) && !empty($_POST["nombre"]) &&
isset($_POST["apellido"]) && !empty($_POST["apellido"]) &&
isset($_POST["organizacion"]) && !empty($_POST["organizacion"]) &&
isset($_POST["pais"]) && !empty($_POST["pais"]) &&
isset($_POST["provincia"]) && !empty($_POST["provincia"]) &&
isset($_POST["email"]) && !empty($_POST["email"]) &&
isset($_POST["sexo"]) && !empty($_POST["sexo"]) &&
isset($_POST["edad"]) && !empty($_POST["edad"]) &&
isset($_POST["consulta"]) && !empty($_POST["consulta"])

){


$conexion = mysql_connect($host, $user, $pw) or die ("problemas al conetar");
mysql_select_db($db, $conexion) or die ("problemas al conetar");

$consulta="select * from datoscontacto where email=".$_POST["email"];
$resultado=mysql_query($consulta) or die (mysql_error());

if (mysql_num_rows($resultado) == 0)

{
mysql_query("INSERT INTO datoscontacto (nombre, apellido, organizacion, pais, provincia, email, sexo, edad)
VALUES ('$_POST[nombre]', '$_POST[apellido]', '$_POST[organizacion]', '$_POST[pais]', '$_POST[provincia]', '$_POST[email]', '$_POST[sexo]', '$_POST[edad]')", $conexion);

mysql_query("INSERT INTO consulta (email, consulta) VALUES ('$_POST[email]', '$_POST[consulta]')", $conexion);

}else{
mysql_query("INSERT INTO consulta (email, consulta) VALUES ('$_POST[email]', '$_POST[consulta]')", $conexion);
}


if (isset($_REQUEST['checkbox'])){
$consulta2="select * from mailing where email=".$_POST["email"];
$resultado2=mysql_query($consulta2) or die (mysql_error());

if (mysql_num_rows($resultado2) == 0) {
mysql_query("INSERT INTO mailing (nombre, apellido, organizacion, pais, provincia, email, sexo, edad)
SELECT (nombre, apellido, organizacion, pais, provincia, email, sexo, edad) FROM datosconsulta WHERE email=email", $conexion);
}else{

}
}




}else{
echo "error al cargar datos";
}


echo "<a href='../index.php'>Volver al inicio</a>";

echo include("footer2.inc");
?>

SI ME PUEDEN DAR UNA MANO ESTARIA GENIAL
GRACIAS.
  #2 (permalink)  
Antiguo 04/02/2014, 13:30
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: mysql me tira un error sobre @hotmail.com

Buenas.

Lo primero ACTUALIZA TU CODIGO las funciones mysql estan despreciadas desde hace ya tiempo.
En segundo lugar revisa que es lo que está pasando la variable por si le envía alguna comilla o algo raro.
Por último revisa que el tipo de campo de la bbdd sea el correcto.

Saludos
__________________
Es de bien nacidos ser agradecidos.
Desarrollo de software a medida | TPV Comercios

Etiquetas: formulario, mysql, select, sql, tira
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:22.