Foros del Web » Programando para Internet » PHP »

Qué estoy haciendo mal?

Estas en el tema de Qué estoy haciendo mal? en el foro de PHP en Foros del Web. Cual es el error por el cual me sale este mensaje ??? You have an error in your SQL syntax; check the manual that corresponds ...
  #1 (permalink)  
Antiguo 24/11/2017, 08:26
 
Fecha de Ingreso: noviembre-2003
Mensajes: 499
Antigüedad: 20 años, 5 meses
Puntos: 7
Qué estoy haciendo mal?

Cual es el error por el cual me sale este mensaje ???
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 ')' at line 2

<?php
$conexion=mysqli_connect("localhost","root","","tu ral") or
die("Problemas con la conexión");

mysqli_query($conexion,"insert into areas(narea,carea) values
('$_REQUEST[narea]',$_REQUEST[carea])")
or die("Problemas en el select".mysqli_error($conexion));

mysqli_close($conexion);

echo "El alumno fue dado de alta.";
?>
  #2 (permalink)  
Antiguo 24/11/2017, 09:37
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: que estoy haciendo mal ????

Puede ser inconvenientes con cierre y apertura de comillas.
Por si acaso, imprime el query de inserción y publicalo aquí para verlo
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 24/11/2017, 09:40
 
Fecha de Ingreso: noviembre-2003
Mensajes: 499
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: que estoy haciendo mal ????

Perdon, pero el query de insercion esta ahí o hace falta el formulario ???
  #4 (permalink)  
Antiguo 24/11/2017, 16:24
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: que estoy haciendo mal ????

No entendí la pregunta.
Yo lo que sugiero es hacer una impresión al query insert
antes de ejecutarlo en php con un echo.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 25/11/2017, 03:46
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: que estoy haciendo mal ????

Hola Parliament,

A lo que se refiere mortiprogramador, es a algo como esto:

Código PHP:
Ver original
  1. <?php
  2. $conexion=mysqli_connect("localhost","root","","tu ral") or
  3. die("Problemas con la conexión");
  4.  
  5. $variable_query = "insert into areas(narea,carea) values
  6. ('$_REQUEST[narea]',$_REQUEST[carea])";
  7.  
  8. echo $variable_query . "<br>";
  9.  
  10. mysqli_query($conexion, $variable_query)
  11. or die("Problemas en el select".mysqli_error($conexion));
  12.  
  13. mysqli_close($conexion);
  14.  
  15. echo "El alumno fue dado de alta.";
  16. ?>

De esa forma se imprime por pantalla la query que se está enviando a la base de datos y se puede ver si contiene algún error.
  #6 (permalink)  
Antiguo 25/11/2017, 09:05
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: que estoy haciendo mal ????

No estas concatenando adecuadamente las variables $_REQUEST['dato'] y te falta el uso de las comillas en las claves, de ahí el error.



Código PHP:
Ver original
  1. mysqli_query($conexion,"insert into areas(narea,carea) values
  2. ('".$_REQUEST['narea'].",".$_REQUEST['carea'].")")
  3. or die("Problemas en el select".mysqli_error($conexion));

Por otro lado es peligroso concatenar los datos directamente en las consultas SQL se deberian minimo escapar los datos y verificar que contienen lo que se espera. La recomendacion es utilizar sentencias preparadas.
__________________
Unset($vida['malRollo']);
  #7 (permalink)  
Antiguo 28/11/2017, 08:49
Avatar de fer911  
Fecha de Ingreso: enero-2004
Ubicación: Saltillo, Coah
Mensajes: 65
Antigüedad: 20 años, 3 meses
Puntos: 3
Respuesta: Qué estoy haciendo mal?

Yo te recomiendo que primero pases a variables los request, para luego hacer el estatuto, ya que en el request te falto poner el dato entre comillas

Código PHP:
$narea=$_REQUEST["narea"];
$carea=$_REQUEST["carea"];
mysqli_query($conexion,"insert into areas(narea,carea) values 
('$narea','$carea')"
)
or die(
"Problemas en el select".mysqli_error($conexion)); 

Etiquetas: haciendo, mysql, select, sql
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 22:55.