Foros del Web » Programando para Internet » PHP »

insertar registro con nombre de campo dinámico

Estas en el tema de insertar registro con nombre de campo dinámico en el foro de PHP en Foros del Web. hola, intento insertar un nuevo registro con mysql con este codiguito, pero no funciona: Código PHP: mysql_connect ( "localhost" , "user" , "pass" ); $resultado  ...
  #1 (permalink)  
Antiguo 28/02/2003, 13:42
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 17 años, 2 meses
Puntos: 3
insertar registro con nombre de campo dinámico

hola, intento insertar un nuevo registro con mysql con este codiguito, pero no funciona:


Código PHP:
mysql_connect("localhost","user","pass");
$resultado mysql_db_query("Foro","INSERT INTO ballot (ip,'$selection') values ('$u_ip',1)"); 
como ven intento colocar el nombre de una variable para la selección de campo, no devuelve ningún error sólo no agrega el registro. Probé sin comillas y es lo mismo.

un saludo
  #2 (permalink)  
Antiguo 28/02/2003, 14:12
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

¿Seguro que $selection contiene un nombre valido de un campo de la tabla? Haz un echo de la variable.

Por cierto, si quieres saber si se produjo un error MySQL, añade:
Código PHP:
if (!$resultado) {
  echo 
"Mysql dice: ".mysql_error();
  exit;

Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 28/02/2003, 14:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mm las comillas simples ' ... ' le indican en SQL de Msyql que lo q va ahí es una cadena ..

El caso que si en ip al nombrar ese campo no usas comillas ..No las uses en $seleccion como nombre de la tabla

$resultado = mysql_db_query("Foro","INSERT INTO ballot (ip,$selection) values ('$u_ip',1)");

PHP "parsea" esa cadena produciendo:
(ejemplos: $seleccion="tabla" .. $u_ip="valor"):

INSERT INTO ballot (ip,tabla) values ('valor',1)

Siendo 'valor' una cadena la cual requiere comillas para q Msyql al ejecutar el SQL lo identifique como tal ..

En realidad deberiamos usr `tabla` .. o `tabla´ cuando nos referimos a tablas en una sentencia SQL .. (así produce la sintax muchos GUI's de Msyql .. y por ago será xD)


Un saludo ...
  #4 (permalink)  
Antiguo 28/02/2003, 14:33
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 17 años, 2 meses
Puntos: 3
Muchas gracias!! era lo de las comillas que decía cluster. A propósito (aunque igual funciona sin ninguna comilla) cómo se hacen estas?: ````` , yo las copypastié.

Gracias por el dato josemi, seguro me servirá

  #5 (permalink)  
Antiguo 28/02/2003, 14:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Mensaje Original por Sir Matrix
Muchas gracias!! era lo de las comillas que decía cluster. A propósito (aunque igual funciona sin ninguna comilla) cómo se hacen estas?: ````` , yo las copypastié.

Gracias por el dato josemi, seguro me servirá

buscalas en tu teclado .. en alguna tecla estarán (a no ser que uses un teclado anglosajon .. Sin la eñe .. )

En el "mio" están en ¨{´ (en esa tecla xD) y el `.. en ^[ `(junto a la ñ y p respectivamente .. )

Un saludo,
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 12:38.