Foros del Web » Programando para Internet » PHP »

algun error en esta insercion?

Estas en el tema de algun error en esta insercion? en el foro de PHP en Foros del Web. Código PHP: $sql_2 =  "INSERT INTO menu (id, plato11, plato12, plato13, platoveg1, platoveg2, platoveg3, plato21, plato22, plato23) VALUES (, '$x1', '$x2', '$x3', '$x4', '$x5', '$x6', '$x7', '$x8', '$x9')" ;  me gustaria saber que le pasa, ya que quiero dejar el campo id, sin que se le pase nada ...
  #1 (permalink)  
Antiguo 27/12/2007, 06:53
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 3 meses
Puntos: 68
algun error en esta insercion?

Código PHP:
$sql_2"INSERT INTO menu (id, plato11, plato12, plato13, platoveg1, platoveg2, platoveg3, plato21, plato22, plato23) VALUES (, '$x1', '$x2', '$x3', '$x4', '$x5', '$x6', '$x7', '$x8', '$x9')"
me gustaria saber que le pasa, ya que quiero dejar el campo id, sin que se le pase nada y no se me crean registros, alguna diea?

gracias ^^
  #2 (permalink)  
Antiguo 27/12/2007, 08:05
 
Fecha de Ingreso: diciembre-2007
Mensajes: 3
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: algun error en esta insercion?

aqui te he creado un breve ejemplo de como puedes insertar a la base de datos sin modificar el id, supuse que querias dejar el campo en blanco, he aqui el codigo:

<form method='POST' style='font-weight:bold; font-size:14px'>
plato11: <input type='text' name='plato11'><br>
plato12: <input type='text' name='plato12'><br>
plato13: <input type='text' name='plato13'><br>
<input type='submit' name='submit' value='enviar a db'>
<input type = 'reset'>
</form>
<?php
$connection=mysql_connect ("localhost", "root", "") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("foros");

$sql = "INSERT INTO menu (id, plato11, plato12, plato13) VALUES ('','$_POST[plato11]','$_POST[plato12]','$_POST[plato13]')";
$result = mysql_query($sql, $connection)
?>

el error que pude ver fue este:
VALUES (, '$x1', '$x2', '$x3', '$x4', '$x5', '$x6', '$x7', '$x8', '$x9')";

si notas el primer valor id no la completastes poninedole las comillas (' ')

bueno espero que te aya servido mi aporte y cualquier pregunta preguntame aver si tengo respuestas :D saludos desde Panama.
  #3 (permalink)  
Antiguo 27/12/2007, 08:17
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 3 meses
Puntos: 68
Re: algun error en esta insercion?

ya probe tambien poniendo las comillas simples ('', '$x1', ...) y no me funcionaba tampoco. A ver que pdoria ser :D
  #4 (permalink)  
Antiguo 27/12/2007, 08:29
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: algun error en esta insercion?

Hola,

Si tienes ya un valor en el campo ID, traspasado en VALUES de esta manera:

Código PHP:
$sql_2"INSERT INTO menu (id, plato11, plato12, plato13, platoveg1, platoveg2, platoveg3, plato21, plato22, plato23) VALUES ('$id', '$x1', '$x2', '$x3', '$x4', '$x5', '$x6', '$x7', '$x8', '$x9')"
La consulta te dará un error por que no estas traspasando la misma cantidad de información. Por otro lado, si el campo ID es invariable y lo que deseas es ACTUALIZAR un registro existente, tendrias que emplear la instrucción UPDATE en vez de INSERT.

Otra opcion es indicar que el valor de ID = NULL => 'NULL'.

Aunque a decir verdad... No comprendo exactamente el "por que" de la necesidad de dejar el campo ID en blanco o sin valor... Si esto es generalizado en este tipo de registros, ¿por que no lo eliminas?

Saludos
  #5 (permalink)  
Antiguo 27/12/2007, 08:53
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 3 meses
Puntos: 68
Re: algun error en esta insercion?

bueno es que el tema seria que el campo id es autonumerico, y por eso no encesita pasarle valor, pero si lo pienso bien lo eliminare por que no m ahce ninguna falta.
  #6 (permalink)  
Antiguo 27/12/2007, 08:58
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: algun error en esta insercion?

Cita:
Iniciado por hades87 Ver Mensaje
bueno es que el tema seria que el campo id es autonumerico, y por eso no encesita pasarle valor, pero si lo pienso bien lo eliminare por que no m ahce ninguna falta.

Buenas,

En tal caso tan solo has de hacer lo siguiente para que FUNCIONE perfectamente:

Código PHP:
$sql_2"INSERT INTO menu (id, plato11, plato12, plato13, platoveg1, platoveg2, platoveg3, plato21, plato22, plato23) VALUES ('NULL', '$x1', '$x2', '$x3', '$x4', '$x5', '$x6', '$x7', '$x8', '$x9')"
De esta forma, ID asume el valor pre-establecido en su configuración inicial en MySQL, haciendo que le valor sea autoincremental de forma automatizada.

Pruebalo antes de eliminar o modificar tu tabla y nos comentas :)

Saludos!
  #7 (permalink)  
Antiguo 27/12/2007, 09:32
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 3 meses
Puntos: 68
Re: algun error en esta insercion?

ok, eso no lo sabia ^^, aun que al verdad creo que el id lo quitare, ya que ando montando una aplicacion para mostrar el menu en 1 restaurante, y en todo caso tendria qeu ahcer un update de unos valores por defecto metidos por mi. No seria mejor asi?^^
  #8 (permalink)  
Antiguo 27/12/2007, 09:38
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: algun error en esta insercion?

Buenas de nuevo,

Aún siendo de esta manera o sea actualizando un mismo registro de forma diaria, no te molesta el campo ID. Ya que el mismo es OBVIADO en la actualización de ese registro en concreto.

Paralelamente, quizás te sea UTIL conservarlo por posibles ampliaciones de menús por parte del restaurante, o sea... que en determinados dias o todos los días se presenten varios menús con diferentes precios tipo (Menú económico - Menú Ejecutivos o incluso. Menú de día / Menú de Noche)

Incluso, puede que llegue a resultar interesante formular o preparar el menu de forma semanal, por lo que tendrias que registar por lo menos 5 registros diferenciados. A mi modo de ver, el campo ID no te molesta en absoluto apañero ;)

Espero haberte servido de ayuda :)

Saludos!
  #9 (permalink)  
Antiguo 27/12/2007, 11:04
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 3 meses
Puntos: 68
Re: algun error en esta insercion?

mmm, de acuerdo ^^, entonces dejo el id y asi lo uso como PK o FK, y tmbn me gustaria saber como ahcer apra que en 1 campo de formulario me salga el valor a modificar, para asi poder ver el antiguo valor y poder decidir si cambiarlo por otro.
  #10 (permalink)  
Antiguo 27/12/2007, 11:45
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Re: algun error en esta insercion?

seria mas sencillo si colocas el mensaje de error :S
  #11 (permalink)  
Antiguo 27/12/2007, 12:15
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 3 meses
Puntos: 68
Re: algun error en esta insercion?

a que te refieres?
  #12 (permalink)  
Antiguo 27/12/2007, 12:23
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: algun error en esta insercion?

Cita:
Iniciado por hades87 Ver Mensaje
mmm, de acuerdo ^^, entonces dejo el id y asi lo uso como PK o FK, y tmbn me gustaria saber como ahcer apra que en 1 campo de formulario me salga el valor a modificar, para asi poder ver el antiguo valor y poder decidir si cambiarlo por otro.
Para hacer eso tan solo has de efectuar una consulta contra la bbdd MySQL para cargar la información del "menú". Una vez que hayas recogido todas las variables con las que desees trabajar con el formulario, tan solo has traspasar el valor de la variable deseada en el atributo "value=$variable"> y listos.

Si no lo ves claro o tienes dudas de como montar el formulario con la carga de los datos de la consulta, en este mismo foro hay unos cuantos mensajes que hacen mencion a este tema en concreto o incluso, creo recordar, en los FAQ's puedes encontrar información detallada de como montarlo ;) paso a paso.

Si despues de consultar tienes dudas, ya sabes... :)

Saludos!
  #13 (permalink)  
Antiguo 27/12/2007, 12:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: algun error en esta insercion?

Si no quieres insertar el id, lo que te recomiendo es no lo envies, asi MySQL le asignara un id automaticamente (Si tu campo es auto_increment).

Saludos.
  #14 (permalink)  
Antiguo 27/12/2007, 13:25
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 3 meses
Puntos: 68
Re: algun error en esta insercion?

vale gatorV, ya vere como lo soluciono :D
  #15 (permalink)  
Antiguo 27/12/2007, 14:13
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
Re: algun error en esta insercion?

solo ponlo asi ('', '$x1', '$x2', '$x3', '$x4', '$x5', '$x6', '$x7', '$x8', '$x9')";

y ya, osea cuando es autoincrement no se pone nada y se deja vacio,
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #16 (permalink)  
Antiguo 27/12/2007, 15:35
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 3 meses
Puntos: 68
Re: algun error en esta insercion?

el tema es que lo probé asi vevni y no me lo registraba, no se por que sera, epro bueno. Gracias a todos de todas formas ^^

PD: como puedo conseguir poner una firma? es que no veo la opción por ningun lado ;)
  #17 (permalink)  
Antiguo 27/12/2007, 16:17
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
Re: algun error en esta insercion?

En Tu Panel, Esta La Opcion, Dice Firma
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #18 (permalink)  
Antiguo 27/12/2007, 16:26
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
Re: algun error en esta insercion?

SABES, DIME QUE ESTRUCTURA TIENE TU TABLA, MUCHAS VECES MIRAMOS POR EL RUMBO EKIVOCADO....... ALO MEJOR TIENES UNA OPCION QUE ESTA CAUSANDO RUIDO..

Cita:
Default Column Values
When you use a full insert, any columns that are not listed have their default value inserted for the new data row, or NULL if there is no default. A column that has the AUTO_INCREMENT property is assigned the next number in sequence by default.
Cita:
NULL Columns
If you do not give a value for a column that has the NOT NULL constraint and also does not have a default value, the insert will fail.
Código:
If you explicitly want to use a column's default value in an INSERT statement, use the DEFAULT keyword as its value. In the following examples, you insert new record into the orders table, where the order_id column has the AUTO_INCREMENT property:

mysql> INSERT INTO orders
    -> (order_id, customer_code, order_date)
    -> VALUES (DEFAULT, 'MUSGRP', '2006-04-01');
Query OK, 1 row affected (0.01 sec)



mysql> INSERT INTO orders (customer_code, order_date)
    -> VALUES ('MUSGRP', '2006-04-01');
Query OK, 1 row affected (0.00 sec)



Both formats of the INSERT statement perform the same job. You can then query the orders table to verify that the two records were inserted with sequential order_id values.
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #19 (permalink)  
Antiguo 27/12/2007, 16:28
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 18 años, 9 meses
Puntos: 3
Re: algun error en esta insercion?

Espero Comprendas Lo Que Quise Decir, Usa El Default Para Que Use Su Valor Por Default El Campo Auto Increment, O Usa El Segundo Formato De Abajo.
Pero Insisto Revisa El Tipo De Formato Que Tienen Tus Campos Quizas Ahi Encuentres La Respuesta,
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #20 (permalink)  
Antiguo 27/12/2007, 16:58
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 3 meses
Puntos: 68
Re: algun error en esta insercion?

vale vevni, mil millones de gracias ^^. Mañana en el trabajo lo miro :D

Código PHP:
"INSERT INTO menu (plato11, plato12, plato13, platoveg1, platoveg2, platoveg3, plato21, plato22, plato23) VALUES ('$x1', '$x2', '$x3', '$x4', '$x5', '$x6', '$x7', '$x8', '$x9')"
ahroa tengo simplemente esto, y no me lo acepta :\

Última edición por hades87; 28/12/2007 a las 06:55
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 21:47.