Comunidad de diseño web y desarrollo en internet online

Soy nuevo en el desarrollo web y necesito ayuda urgente

Citar            
MensajeEscrito el 13 Jul 2012 04:28 pm
El problema esta dado en un insertar, que pasa?
yo contruyo un formulario,
le defino el action para donde lo voy a dirigir, envio los datos por post
capturo los datos en variables con _post y los veo sin problema,
ahora el palo lo esta dando cuando voy a insertar los datos en la BD MSQL
yo defino la siguiente consulta,
db_query("INSERT INTO TB(atributo1,atributo2,atributoN) VALUES(".$var1.",".$var2.", ".$varN.")");

esa consulta no me inserta nada en la BD y no se pork.

Gracias de antemano.

Por dichoso

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Jul 2012 04:35 pm
Luego de ejecutar el insert ¿qué mensaje de error te devuelve MySQL?, para saberlo, ejecuta

Código :

echo mysql_error();

inmediatamente después de hacer el insert.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 13 Jul 2012 07:54 pm
Este es el error que me da cuando ejecuto msql_error();

PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 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 1: INSERT INTO prueba(nombre, emisor)VALUES(, ); Array ( ) en aviso() (línea 2474 de /usr/local/www/apache22/data/combustible/sites/all/modules/views/views.module).

Por dichoso

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Jul 2012 07:57 pm
Pues eso, que tienes un error en la sentencia INSERT de SQL. Concretamente, la clausula VALUES está vacía.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 13 Jul 2012 08:00 pm
DriverQ yo esto claro que el problema es en la sistaxis de la consulta para ser mas claro lo dan las comillas, porque cuando yo ejecuto esta consulta por ejemplo

db_query("INSERT INTO prueba(nombre, var)VALUES('pepe', 'mil')");

eso me lo inserta sin problemas en la BD, el bateo lo da en las comillas que tengo que ponerle para que la consulta me reconozca las variables en las cuales guardo lo que envio por POST en el formulario.

Pero la verdad que estoy parado ahi y no se como resolver esto.

Gracias

Por dichoso

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Jul 2012 08:13 pm
fijate

Código PHP :

db_query("INSERT INTO TB(atributo1,atributo2,atributoN) VALUES(".$var1.",".$var2.", ".$varN.")");


estas poniendo comillas dobles a todo, ponele a las variables comillas simples, te quedaria asi:


Código PHP :

$sql = "INSERT INTO TB(atributo1,atributo2,atributoN) VALUES('".$var1."','".$var2."',' ".$varN."')"
db_query($sql);


Fijate en donde puse las comillas simples

Por SinSemilla

Claber

336 de clabLevel



Genero:Masculino  

i am that i am...

firefox
Citar            
MensajeEscrito el 13 Jul 2012 08:27 pm
DriverOP muchas gracias por las soluciones que me facilito y el tiempo de respuesta a mis preguntas, ya se resolvio el problema de la sisntaxis, de seguro que en otro momento lo vuelvo a molestar , disculpe las molestias causadas y que tenga buen fin de semana, cualquier tema no dude en consultarme si esta en mis manos tratare de ayudar.

Saludos Yoo..

Por dichoso

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Jul 2012 02:45 pm
ahora continua el problema pero no es con el insertar sino, que puedo insertar tantas veces como quiera pero cuando cierre la pagina que vuelvo a tratar de acceder desde otra parte del sitio me da estos errores:
Notice: Undefined index: receptor en inserte() (línea 2477 de /usr/local/www/apache22/data/combustible/sites/all/modules/views/views.module).
PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'contrato' at row 1: INSERT INTO prueba(empresa, servicio, representante, contrato)VALUES('', '','', ''); Array ( ) en inserte() (línea 2479 de /usr/local/www/apache22/data/combustible/sites/all/modules/views/views.module).

Saludos y gracias...

Por dichoso

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Jul 2012 10:02 pm
Si quieres usar comillas dobles puedes sin problema, yo las comillas simples las uso solo en casos especificos.

Código PHP :

$sql = "INSERT INTO TB(atributo1,atributo2,atributoN) VALUES(\"".$var1."\",\"".$var2."\",\"".$varN."\")"
db_query($sql);



Y lixto XD

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.