no consigo insertar datos a una tabla

Iniciado por patas_air, 22 Noviembre 2006, 05:20 AM

0 Miembros y 1 Visitante están viendo este tema.

patas_air

Pues si...sigo sin poder insertar datos en una tabla...lo he hecho de esta forma

$insert=mysql_query("INSERT into tabla VALUES ('$var1','$var2')", $link) or die (mysql_error());

Pero necesito hacerlo usando una variable para el nombre de la tabla por ejemplo: $tabla, y lo haog asi

$insert=mysql_query("INSERT into '".$tabla."' VALUES ('$var1','$var2')", $link) or die (mysql_error());

Pero no lo consigo...me surge un error de sintaxis en mi sentencia SQL...que puedo hacer...me urge su ayuda... :-(

No pienso en el futuro, llega demasido rápido

дٳŦ٭

Cita de: patas_air en 22 Noviembre 2006, 05:20 AM
Pues si...sigo sin poder insertar datos en una tabla...lo he hecho de esta forma

$insert=mysql_query("INSERT into tabla VALUES ('$var1','$var2')", $link) or die (mysql_error());

Pero necesito hacerlo usando una variable para el nombre de la tabla por ejemplo: $tabla, y lo haog asi

$insert=mysql_query("INSERT into '".$tabla."' VALUES ('$var1','$var2')", $link) or die (mysql_error());

Pero no lo consigo...me surge un error de sintaxis en mi sentencia SQL...que puedo hacer...me urge su ayuda... :-(



Revisa la sintaxis del "INSERT", si corresponden $var2, $var3, etc.. a la misma.

Pon el código sql de tu tabla  ;)

Suerte!


Con sangre andaluza :)


Ertai

Antes de ejecutar la query, haz un print de ella, y así seguramente ves el error. Sino, coje la SQL y metela en el phpMyAdmin, que te da más info del error.

Saludos.
Si la felicidad se comprara, entonces el dinero sería noble.


void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}

alone-in-the-chat

$insert=mysql_query("INSERT into '".$tabla."' VALUES ('$var1','$var2')", $link) or die (mysql_error());
---------------------------

parece que le estas poniendo comillas simples ''
al nombre de la tabla

deberia ser asi


$insert=mysql_query("INSERT into ".$tabla." VALUES ('$var1','$var2')", $link) or die (mysql_error());

las comillas simples son para los valores a insertar ;)

Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b

patas_air

Ahora obtengo esto al poner el SQL en phpMyAdmin

Error

consulta SQL :

"INSERT into ".$n_tabla."  VALUES ('$var1', '$var2', '$var3', '$var4')"

MySQL ha dicho:

#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 '"INSERT into ".$n_tabla. "  VALUES ('$n_ctrl', '$nom', '$ap', '


Ahora que hice mal...????  :-\
No pienso en el futuro, llega demasido rápido

alone-in-the-chat

podrias pegar  tu codigo completo??
asi puedo intentar ayudarte mejor .



...
Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b

patas_air

<form method="POST" action="admon.php">
                      No. Control: <input type="text" name="n_ctrl">
                      Nombre: <input type="text" name="nombre">
                      Apellidos: <input type="text" name="apellidos">
                      Semestre: <input type="text" name="semestre">
                      <br>
                      <br>
                      <input type="submit" name="enviar" value="Enviar">
                      </form>
                    <?php
                      if ($_POST)
                       {
                        $n_ctrl=$_POST['n_ctrl'];
                        $nom=$_POST['nombre'];
                        $ap=$_POST['apellidos'];
                        $sem=$_POST['semestre'];
                        $insert=mysql_query("INSERT into ".$n_tabla."(no_control,nombre,apellidos,semestre) VALUES ('$n_ctrl', '$nom', '$ap', '$sem')", $link) or die (mysql_error());
                        echo "registro insertado"; ?>

$n_tabla se obtiene de un select ...en donde uno elige con que tabla trabajar...
No pienso en el futuro, llega demasido rápido

alone-in-the-chat

ok mira alli o la variable $n_tabla puede estar vacia
o si te fijas bien en esta linea
------------
$insert=mysql_query("INSERT into ".$n_tabla."(no_control,nombre,apellidos,semestre) VALUES ('$n_ctrl', '$nom', '$ap', '$sem')", $link) or die (mysql_error());
-------------
donde colocas $n_tabla."(no_control....

estas mandandolo junto prueba separalos .
asi
----------------------
mysql_query("INSERT into ".$n_tabla."   (no_control,nombre,apellidos,semestre) VALUES ('$n_ctrl', '$nom', '$ap', '$sem')", $link) or die (mysql_error());

y si no es eso entonces $n_tabla esta vacia prueba haciendo un echo de ese campo  ..


avisame  como te va :P
Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b

patas_air

cierto $n_tabla no tiene nada...una duda cuantos formularios por POST puedo tener en un mismo archivo...estoy usando 2 uno para elegir la tabla y otro para la accion a realizar sobre la tabla...???
No pienso en el futuro, llega demasido rápido

alone-in-the-chat

puedes tener la cantidad que quieras pero tu archivo php manejara solo el que te submites a la vez me imagino que pusiste dos formularios en tu aplicacion en uno ponias los datos y en otro ponias la tabla a elegir verdad??
pues cuando haces el submit del formulario de  datos no envies la data del formulario de la tabla es por eso que tu variable no tenia nada
prueba a meterlas todas en un mismo formulario o si se requiere dos usa una funcion javascript para que al seleccionar un campo de tu select de tablas puedas llenar un campo oculto en tu formulario de datos y de esa manera se pueda enviar tambien la tabla seleccionada...
suerte..
Because maybe
You're gonna be the one that saves me
And after all
You're my wonderwall
d[n_n]b