Foros del Web » Programando para Internet » PHP »

por que no me funciona el insert?

Estas en el tema de por que no me funciona el insert? en el foro de PHP en Foros del Web. hola, bueno pues... en que ando mal??? me da el siguente error: Cita: You have an error in your SQL syntax; check the manual that ...
  #1 (permalink)  
Antiguo 11/07/2010, 05:15
Avatar de Vergara  
Fecha de Ingreso: junio-2010
Ubicación: San Francisco California
Mensajes: 249
Antigüedad: 9 años, 6 meses
Puntos: 6
por que no me funciona el insert?

hola, bueno pues... en que ando mal???
me da el siguente error:

Cita:
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 'Boy','Affter Horas 57','3.00','R&B','Non-Exclusive','112','3:00','234')' at line 2

Código PHP:
<?php  


if (isset($_POST['submit'])) {   

             
mysql_connect('localhost','usuario','password')or die ('Ha fallado la conexión: '.mysql_error()); 
                 
mysql_select_db('basededatos')or die ('Error al seleccionar la Base de Datos: '.mysql_error()); 


  

  
                   
$nombre_archivo  $_POST["nombre_archivo"];  
                   
$usuario  $_POST["usuario"];
                                     
$precio  $_POST["precio"];
                                     
$calidad  $_POST["calidad"];
                                     
$genero  $_POST["genero"];
                                     
$licencia  $_POST["licencia"];
                                     
$duracion  $_POST["duracion"];
                                     
$tempo  $_POST["tempo"];
                             

                   
$query "INSERT INTO vendidos  
    VALUES ('$usuario','$nombre_archivo','$precio','$genero','$licencia','$calidad','$duracion','$tempo')"


    
      
mysql_query($query) or die(mysql_error()); 
       echo 
"".$nombre_archivo."";
                 
     


                      
        }  
     
  
          
// A continuación el formulario  

?>
Cita:
CREATE TABLE IF NOT EXISTS `vendidos` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`usuario` varchar(120) NOT NULL,
`name` varchar(120) NOT NULL,
`precio` varchar(250) NOT NULL,
`genero` varchar(100) NOT NULL,
`licencia` varchar(100) NOT NULL,
`calidad` varchar(100) NOT NULL,
`duracion` varchar(100) NOT NULL,
`tempo` varchar(100) NOT NULL,
`descripcion` varchar(100) NOT NULL,
`ruta` varchar(100) NOT NULL,
`tipo` varchar(50) NOT NULL,
`size` int(50) NOT NULL,
`email` varchar(50) NOT NULL,
`fecha` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=91 ;

Última edición por Vergara; 11/07/2010 a las 07:58
  #2 (permalink)  
Antiguo 11/07/2010, 08:24
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 15 años, 2 meses
Puntos: 71
Respuesta: por que no me funciona el insert?

Haz un 'echo $quuery;' para ver que sentencia estas enviando realmente

Puede ser un problema con alguna ' o algun caracter "raro".



EDITO: Ahora que me fijo, deberias poner un valor al id, sino, la sentencia te cojeria el primer dato 'usuario' para el campo id, el segunco, 'nombre_archivo' para el usuario, y asi sucesivamente. Deberias ponerlo asi:
Código PHP:
$query "INSERT INTO vendidos  
    VALUES ('', '$usuario','$nombre_archivo','$precio','$genero','$licencia','$calidad','$duracion','$tempo')"

Aunque lo ideal seria usar algo asi
Código PHP:
$query "INSERT INTO vendidos  SET usuario='$usuario', name='$nombre_archivo', precio='$precio', genero='$genero', licencia='$licencia', calidad='$calidad', duracion='$duracion', tiempo='$tempo';"
  #3 (permalink)  
Antiguo 11/07/2010, 08:30
 
Fecha de Ingreso: febrero-2007
Mensajes: 163
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: por que no me funciona el insert?

Es posible que uno de los valores que te venga para el insert tenga una comilla simple y eso te este rompiendo el insert, usa la funcion mysql_real_escape para escapear esos caracteres.
  #4 (permalink)  
Antiguo 11/07/2010, 10:07
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 9 años, 7 meses
Puntos: 461
Respuesta: por que no me funciona el insert?

en tu insert no estas poniendo todos los campos tengo entendido que si uno no pone los campos antes del value el entiende que es todos los campos que se va a llenar pero no estoy seguro xq no lo haces asi
Código PHP:
 $query "INSERT INTO vendidos (usuario,name,precio,genero,licencia,calidad,duracion,tempo) VALUES ('$usuario','$nombre_archivo','$precio','$genero','$licencia','$calidad','$duracion','$tempo')"
  #5 (permalink)  
Antiguo 11/07/2010, 16:36
Avatar de Vergara  
Fecha de Ingreso: junio-2010
Ubicación: San Francisco California
Mensajes: 249
Antigüedad: 9 años, 6 meses
Puntos: 6
Respuesta: por que no me funciona el insert?

Gracias a los 3 mosqueteros por su ayuda, problema resuelto.....

Etiquetas: insert
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:24.