Foros del Web » Programando para Internet » PHP »

por qué no ingresa en db ?

Estas en el tema de por qué no ingresa en db ? en el foro de PHP en Foros del Web. hola, quiero insertar un grupo de preguntas en una bd, y la tabla tiene 38 campos llamados todos 1,2,3..... He recogido todo el formulario con ...
  #1 (permalink)  
Antiguo 06/11/2009, 15:44
 
Fecha de Ingreso: agosto-2008
Mensajes: 382
Antigüedad: 15 años, 7 meses
Puntos: 2
por qué no ingresa en db ?

hola, quiero insertar un grupo de preguntas en una bd, y la tabla tiene 38 campos llamados todos 1,2,3.....

He recogido todo el formulario con un post para luego insertarlo en la bd y no da errores ni nada, pero no lo inserta. aqui el codigo

Código PHP:
include('testcnx.php');
session_start();
$user=$_SESSION['id_usuario'];
$Uno=$_POST['1'];
$Dos=$_POST['2'];
$Tres=$_POST['3'];
$Cuatro=$_POST['4'];
$Cinco=$_POST['5'];
$Seis=$_POST['6'];
$Siete=$_POST['7'];
$Ocho=$_POST['8'];
$Nueve=$_POST['9'];
$Diez=$_POST['10'];
$Once=$_POST['11'];
$Doce=$_POST['12'];
$Trece=$_POST['13'];
$Catorce=$_POST['14'];
$Quince=$_POST['15'];
$Dieciseis=$_POST['16'];
$Diecisiete=$_POST['17'];
$Dieciocho=$_POST['18'];
$Diecinueve=$_POST['19'];
$Veinte=$_POST['20'];
$Ventiuno=$_POST['21'];
$Ventidos=$_POST['22'];
$Ventitres=$_POST['23'];
$Venticuatro=$_POST['24'];
$Venticinco=$_POST['25'];
$Ventiseis=$_POST['26'];
$Ventisiete=$_POST['27'];
$Ventiocho=$_POST['28'];
$Ventinueve=$_POST['29'];
$Trenta=$_POST['30'];
$Trentayuno=$_POST['31'];
$Trentaydos=$_POST['32'];
$Trentaytres=$_POST['33'];
$Trentaycuatro=$_POST['34'];
$Trentaycinco=$_POST['35'];
$Trentayseis=$_POST['36'];
$Trentaysiete=$_POST['37'];
$Trentayocho=$_POST['38'];

mysql_query("INSERT INTO rtest (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,id_usuario) values ('$Uno','$Dos','$Tres','$Cuatro','$Cinco','$Seis','$Siete','$Ocho','$Nueve','$Diez','$Once','$Doce','$Trece','$Catorce','$Quince','$Dieciseis','$Diecisiete','$Diecinueve','$Veinte','$Ventiuno','$Ventidos','$Ventitres','$Venticuatro','$Venticinco','$Ventiseis','$Ventiocho','$Ventinueve','$Trenta','$Trentayuno','$Trentaydos','$Trentaytres','$Trentaycuatro','$Trentaycinco','$Trentayseis','$Trentaysiete','$Trentayocho','$user')") or (mysql_error());

echo 
"yata"
gracias de antemano
__________________
la experiencia es la mejor de las escuelas, pero la obtienes cuando ya no la necesitas.

Yo soy aquel que mucho hace trabajar a la gente del foro, pero siempre gratifico con un karma
  #2 (permalink)  
Antiguo 06/11/2009, 15:47
Avatar de dcreate  
Fecha de Ingreso: octubre-2009
Ubicación: Veracruz
Mensajes: 536
Antigüedad: 14 años, 6 meses
Puntos: 22
Respuesta: por qué no ingresa en db ?

perosi haces bien la conexion??
  #3 (permalink)  
Antiguo 06/11/2009, 15:50
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: por qué no ingresa en db ?

Pon echo mysql_error(); , sino no muestra nada, ahi vas a ver el error
  #4 (permalink)  
Antiguo 07/11/2009, 05:42
 
Fecha de Ingreso: agosto-2008
Mensajes: 382
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: por qué no ingresa en db ?

gracias, me da este error, pero porqué?

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 '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,2 0,21,22,23,24,25,26,27,28,29,30' at line 1

son los nombres de los campos de la bd.
__________________
la experiencia es la mejor de las escuelas, pero la obtienes cuando ya no la necesitas.

Yo soy aquel que mucho hace trabajar a la gente del foro, pero siempre gratifico con un karma
  #5 (permalink)  
Antiguo 07/11/2009, 07:28
Avatar de luckystrikede11  
Fecha de Ingreso: octubre-2009
Ubicación: Concepcion, Chile
Mensajes: 240
Antigüedad: 14 años, 6 meses
Puntos: 17
Respuesta: por qué no ingresa en db ?

Cita:
Iniciado por only_skating Ver Mensaje
gracias, me da este error, pero porqué?

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 '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,2 0,21,22,23,24,25,26,27,28,29,30' at line 1

son los nombres de los campos de la bd.
tu error es un parentesis.. (

...error());
  #6 (permalink)  
Antiguo 08/11/2009, 11:41
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: por qué no ingresa en db ?

Perdona, cuando te conectas a la base?
Ademas no es: "insert into (tabla) VALUES (..........."??
  #7 (permalink)  
Antiguo 08/11/2009, 12:47
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: por qué no ingresa en db ?

Cita:
Iniciado por jackson666 Ver Mensaje
Perdona, cuando te conectas a la base?
Ademas no es: "insert into (tabla) VALUES (..........."??
Sirve tambien asi, indicando antes en parentesis los campos, aunque yo realmente no le veo utilidad xD
  #8 (permalink)  
Antiguo 10/11/2009, 09:18
 
Fecha de Ingreso: agosto-2008
Mensajes: 382
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: por qué no ingresa en db ?

si que está el parentesis, o es que sobra

or (mysql_error());

hay otra forma de insertar algo en la base de datos sin poner el campo? ami es asi como me enseñaron. gracias
__________________
la experiencia es la mejor de las escuelas, pero la obtienes cuando ya no la necesitas.

Yo soy aquel que mucho hace trabajar a la gente del foro, pero siempre gratifico con un karma
  #9 (permalink)  
Antiguo 10/11/2009, 09:30
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: por qué no ingresa en db ?

Yo siempre hago las inserciones sin indicar los cambios, es decir, directamente:

INSERT INTO tabla VALUES (..................

No se..... lo hago por comodidad/costumbre
  #10 (permalink)  
Antiguo 10/11/2009, 09:52
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 14 años, 11 meses
Puntos: 5
Respuesta: por qué no ingresa en db ?

el error esta en que nunca te conectas a la db ademas el include del inicio ¿ que contiene el archivo testcnx.php ?

supongo que lo que este archivo contiene sera la coneccion a la db pero nunca llamas ni siquiera a una funcion .

<?php
$conn =@ mysql_pconnect ("base_de_datos","nombre","password");
$query = "insert into tabla values (...........)";
$result = mysql_query ($conn, $query);
// para ver el resultado
if (!$result)
{
echo "hubo un error, no se pudo insertar los datos";
}else{
echo "los datos se insertaron correctamente";
}

?>

y porque pones numeros 1,2,3,4,5 si las variables no se llaman asi ¿ que es lo que querias ingresar ? en lugar de los numeros pone las variables.

bueno espero haber ayudado jajaja
  #11 (permalink)  
Antiguo 11/11/2009, 12:04
 
Fecha de Ingreso: agosto-2008
Mensajes: 382
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: por qué no ingresa en db ?

aver include(.......php);

es la conexion a la base de datos
al recoger las variables recojo 1,2,3..de los campos de texto y a las variables las llamo uno dos tres....

luego inserto en los campos de la bd que se llaman 1.2.234..... y pongo las variables que se insertan en cada uno de ellos $uno $dos...
__________________
la experiencia es la mejor de las escuelas, pero la obtienes cuando ya no la necesitas.

Yo soy aquel que mucho hace trabajar a la gente del foro, pero siempre gratifico con un karma
  #12 (permalink)  
Antiguo 11/11/2009, 12:05
 
Fecha de Ingreso: agosto-2008
Mensajes: 382
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: por qué no ingresa en db ?

a la respuesta de VUN

pero como indicas donde quieres meter cada variable :S ?
__________________
la experiencia es la mejor de las escuelas, pero la obtienes cuando ya no la necesitas.

Yo soy aquel que mucho hace trabajar a la gente del foro, pero siempre gratifico con un karma
  #13 (permalink)  
Antiguo 11/11/2009, 12:32
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: por qué no ingresa en db ?

only_skating, simplemente en VALUES indicar exactamente los campos correspondientes a la tabla. Pruebalo INSERT into TABLE VALUES('0','0','0','0') por ejemplo en el caso de una tabla de 4 campos
  #14 (permalink)  
Antiguo 11/11/2009, 12:51
 
Fecha de Ingreso: noviembre-2009
Mensajes: 2
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: por qué no ingresa en db ?

Cita:
Iniciado por Vun Ver Mensaje
Yo siempre hago las inserciones sin indicar los cambios, es decir, directamente:

INSERT INTO tabla VALUES (..................

No se..... lo hago por comodidad/costumbre
Pues el dia que tengas que modificar la base de datos, como por ejemplo añadir un campo, vas a tener problemas en las inserciones. Y si tienes muchas se puede volver en un verdadero coñazo cambiarlo.
  #15 (permalink)  
Antiguo 11/11/2009, 13:11
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: por qué no ingresa en db ?

Cita:
Iniciado por BlindSmile Ver Mensaje
Pues el dia que tengas que modificar la base de datos, como por ejemplo añadir un campo, vas a tener problemas en las inserciones. Y si tienes muchas se puede volver en un verdadero coñazo cambiarlo.
yo diria que es el mismo trabajo ¿no? tienes que modificar de todas formas los campos que van en VALUES (......)
  #16 (permalink)  
Antiguo 12/11/2009, 08:28
 
Fecha de Ingreso: agosto-2008
Mensajes: 382
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: por qué no ingresa en db ?

bueno cada uno a su forma, pero que le falla a mi insección ?
__________________
la experiencia es la mejor de las escuelas, pero la obtienes cuando ya no la necesitas.

Yo soy aquel que mucho hace trabajar a la gente del foro, pero siempre gratifico con un karma
  #17 (permalink)  
Antiguo 12/11/2009, 09:48
 
Fecha de Ingreso: noviembre-2009
Mensajes: 2
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: por qué no ingresa en db ?

Cita:
Iniciado por Vun Ver Mensaje
yo diria que es el mismo trabajo ¿no? tienes que modificar de todas formas los campos que van en VALUES (......)
No me has entendido, si dejas los campos sin seleccionar, se seleccionan según el orden de la base de datos. Si en la base de datos añades otro campo, por ejemplo entre medio de alguno, ya no concuerdan según el orden que le pasas en VALUES. Pero si coges y seleccionas los campos manualmente, eso nunca fallará.
  #18 (permalink)  
Antiguo 12/11/2009, 09:52
 
Fecha de Ingreso: noviembre-2009
Mensajes: 40
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: por qué no ingresa en db ?

seria asi


mysql_query("INSERT INTO tutabla(campo1, campo2, campo3,...campo38)VALUES(valorcampo1,valorcampo2,v alorcampo3,...valorcampo38)
  #19 (permalink)  
Antiguo 12/11/2009, 11:41
 
Fecha de Ingreso: agosto-2008
Mensajes: 382
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: por qué no ingresa en db ?

podriais decirme porque no lo inserta en mi db !!!! este es el error que sale
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 '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,2 0,21,22,23,24,25,26,27,28,29,30' at line 1

y este el script

Cita:
include('testcnx.php');
session_start();
$user=$_SESSION['id_usuario'];
$Uno=$_POST['1'];
$Dos=$_POST['2'];
$Tres=$_POST['3'];
$Cuatro=$_POST['4'];
$Cinco=$_POST['5'];
$Seis=$_POST['6'];
$Siete=$_POST['7'];
$Ocho=$_POST['8'];
$Nueve=$_POST['9'];
$Diez=$_POST['10'];
$Once=$_POST['11'];
$Doce=$_POST['12'];
$Trece=$_POST['13'];
$Catorce=$_POST['14'];
$Quince=$_POST['15'];
$Dieciseis=$_POST['16'];
$Diecisiete=$_POST['17'];
$Dieciocho=$_POST['18'];
$Diecinueve=$_POST['19'];
$Veinte=$_POST['20'];
$Ventiuno=$_POST['21'];
$Ventidos=$_POST['22'];
$Ventitres=$_POST['23'];
$Venticuatro=$_POST['24'];
$Venticinco=$_POST['25'];
$Ventiseis=$_POST['26'];
$Ventisiete=$_POST['27'];
$Ventiocho=$_POST['28'];
$Ventinueve=$_POST['29'];
$Trenta=$_POST['30'];
$Trentayuno=$_POST['31'];
$Trentaydos=$_POST['32'];
$Trentaytres=$_POST['33'];
$Trentaycuatro=$_POST['34'];
$Trentaycinco=$_POST['35'];
$Trentayseis=$_POST['36'];
$Trentaysiete=$_POST['37'];
$Trentayocho=$_POST['38'];

mysql_query("INSERT INTO rtest (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,2 0,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36, 37,38,id_usuario) values ('$Uno','$Dos','$Tres','$Cuatro','$Cinco','$Seis', '$Siete','$Ocho','$Nueve','$Diez','$Once','$Doce', '$Trece','$Catorce','$Quince','$Dieciseis','$Dieci siete','$Diecinueve','$Veinte','$Ventiuno','$Venti dos','$Ventitres','$Venticuatro','$Venticinco','$V entiseis','$Ventiocho','$Ventinueve','$Trenta','$T rentayuno','$Trentaydos','$Trentaytres','$Trentayc uatro','$Trentaycinco','$Trentayseis','$Trentaysie te','$Trentayocho','$user')") or (mysql_error());

echo "yata";
__________________
la experiencia es la mejor de las escuelas, pero la obtienes cuando ya no la necesitas.

Yo soy aquel que mucho hace trabajar a la gente del foro, pero siempre gratifico con un karma
  #20 (permalink)  
Antiguo 12/11/2009, 13:19
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: por qué no ingresa en db ?

Si te da el error justo en el "1" da la impresion de que la tabla rtest no contiene dicho campo, algo pasa con ese 1
  #21 (permalink)  
Antiguo 12/11/2009, 15:45
 
Fecha de Ingreso: agosto-2008
Mensajes: 382
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: por qué no ingresa en db ?

si, contiene ese campo se llama 1 cortejeamiento utf8 general ci y de tipo varchar

pondré a los campos uno,dos,tres,cuatro

que igual es por la confusión por numeros y php no los admite
__________________
la experiencia es la mejor de las escuelas, pero la obtienes cuando ya no la necesitas.

Yo soy aquel que mucho hace trabajar a la gente del foro, pero siempre gratifico con un karma
  #22 (permalink)  
Antiguo 14/11/2009, 18:43
 
Fecha de Ingreso: agosto-2008
Mensajes: 382
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: por qué no ingresa en db ?

bueno, pues debia ser eso, que php no acepta un numero como nombre de un campo, asi que lo cambié y ahora lo ingresa todo perfectamente. gracias a todos por su ayuda
__________________
la experiencia es la mejor de las escuelas, pero la obtienes cuando ya no la necesitas.

Yo soy aquel que mucho hace trabajar a la gente del foro, pero siempre gratifico con un karma
  #23 (permalink)  
Antiguo 14/11/2009, 18:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: por qué no ingresa en db ?

Cita:
Iniciado por only_skating Ver Mensaje
bueno, pues debia ser eso, que php no acepta un numero como nombre de un campo, asi que lo cambié y ahora lo ingresa todo perfectamente. gracias a todos por su ayuda
en primera... el problema era de SQL, no PHP...

ahora... casi ningún lenguaje acepta como nombres de variable algún numero solamente...

y si, PHP no acepta eso... tampoco MySQL, etc, etc...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
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 01:28.