Foros del Web » Programando para Internet » PHP »

Variable dentro del query

Estas en el tema de Variable dentro del query en el foro de PHP en Foros del Web. Disculpame me equivoque.. Código PHP: $conexion  =  mysql_connect ( 'localhost' , 'prueba' , 'root' , 'password' ); mysql_select_db ( 'prueba' ,  $conexion ); if (!@ mysql_select_db ...

  #31 (permalink)  
Antiguo 04/04/2008, 13:29
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Variable dentro del query

Disculpame me equivoque..
Código PHP:
$conexion mysql_connect('localhost','prueba','root','password');
mysql_select_db('prueba'$conexion);


if (!@
mysql_select_db('prueba')) {
exit(
'<p>Unable to locate the joke ' .
'database at this time.</p>');
}
prueba hacer un echo aqui..

echo 
$tabla;

if (
mysql_select_db('prueba'))
{
sql="select * from '$tabla' where campo='$variable'";

Esto te deberia servir..

Y mis disculpas..

Tambien prueba dandole un echo '$tabla' al valor de las variables antes de realizar el SQL..
Salu2..!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...

Última edición por agressor; 04/04/2008 a las 13:47
  #32 (permalink)  
Antiguo 04/04/2008, 13:31
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Variable dentro del query

Asi compruebas que las variables estan siendo colocadas de manera correcta en el SQL..
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #33 (permalink)  
Antiguo 04/04/2008, 13:44
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Variable dentro del query

Si lo hice, fijate en este mensaje

Cita:
Iniciado por zubintro Ver Mensaje
Hice esto:
Código PHP:
$conn db_connect("localhost""root""""inscripciones");

$tabla=$_POST['base'];
$buscar=$_POST['buscar'];  

if (
$conn) { 
$result mysql_query("Select * from $tabla where id='$buscar' or cedula='$buscar'");

Y no se conecta a la base de datos ya que me da el siguiente error
Fatal error: Call to undefined function db_connect() in C:\wamp\www\php\modificar.php on line 23 - es la linea del db_connect
  #34 (permalink)  
Antiguo 04/04/2008, 13:45
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Variable dentro del query

Cita:
Iniciado por agressor Ver Mensaje
Disculpame me equivoque..
Código PHP:
$conexion mysql_connect('localhost','prueba','root','password');
mysql_select_db('prueba'$conexion);


if (!@
mysql_select_db('prueba')) {
exit(
'<p>Unable to locate the joke ' .
'database at this time.</p>');
}
prueba hacer un echo aqui..

echo 
$tabla;

if (
mysql_select_db('prueba'))
{
sql="select * from '$tabla' where campo='$variable'";

Esto te deberia servir..

Y mis disculpas..

Tambien prueba dandole un echo '$tabla' al valor de las variables antes de realizar el SQL..
Salu2..!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #35 (permalink)  
Antiguo 04/04/2008, 14:16
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Variable dentro del query

Ok mira esto sale por que sale..!!

Aqui te lo mando ya lo probe.. y me funcion solo que no ejecuto la funcion SQL solo la escribo y me la escribe bien aqui te lo mando..!

Tu archivo de conexion..

Código PHP:
<?php 
$conexion 
mysql_connect('localhost','root','unicah','prueba');
mysql_select_db('prueba'$conexion);

if (!@
mysql_select_db('prueba')) {
exit(
'<p>Unable to locate the joke ' .
'database at this time.</p>');
}

echo 
$_POST['tabla'];

$tabla=$_POST['tabla'];

$sql="select * from '$tabla'";
echo 
$sql;
?>
Tu Formulario..
Código PHP:
<form action="prueba.php" method="post">
<
label><br />
<
select name="tabla" id="select">
    <
option value="noticias">Derechos Humanos</option>
    <
option value="usuarios">Derecho Internacional Humanitario</option>
</
select></label>
<
p>
  <
label>
  <
input type="submit" name="Submit" value="Submit" />
  </
label>
</
p>
</
form
Espero te sirva..

Salu2..!!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #36 (permalink)  
Antiguo 04/04/2008, 14:49
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Variable dentro del query

amigo de verdad agradezco la ayuda que me estas brindando pero te comento que continua dando el error y sumado a eso no hace la busqueda.... lo coloque asi
Código PHP:
$conexion=mysql_connect("localhost","root","");
mysql_select_db("inscripciones",$conexion);

$buscar=$_POST['buscar'];

if (!@
mysql_select_db('inscripciones')) {
exit(
'<p>Unable to locate the joke ' .
'database at this time.</p>');
}
echo 
$tabla;

if (
mysql_select_db('inscripciones'))
{
$sql="select * from '$tabla' where id='$buscar'";
}

if(list (
$id,$nombre,$apellido,$cedula,$sexo,$email,$codigo,$telefono,$fecha,$opcional,$egreso,$carrera,$pactual,$banco,$deposito) = mysql_fetch_array($consulta)){
?> 
  #37 (permalink)  
Antiguo 04/04/2008, 14:55
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Variable dentro del query

No te aparece por que no haz colocado la variable $_POST['tabla']

asi en vez de echo

$tabla = $_POST['tabla'];

Luego la colocas en la sentencia SQL..

Salu2...!!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #38 (permalink)  
Antiguo 04/04/2008, 14:56
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Variable dentro del query

Relajate si te pones tenso y estresado no veras los errores mas pequenos..

Salu2..!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #39 (permalink)  
Antiguo 04/04/2008, 15:08
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Variable dentro del query

Fijate, estoy trabajando con el ejemplo que me dijiste que probaste, hice esto:
Archivo Conexion
Código PHP:
<?php 
$conexion
=mysql_connect("localhost","root","");
mysql_select_db("inscripciones",$conexion);

if (!@
mysql_select_db('inscripciones')) {
exit(
'<p>Unable to locate the joke ' .
'database at this time.</p>');
}

echo 
$_POST['tabla'];

$tabla=$_POST['tabla'];

$sql="select * from '$tabla'";

$consultamysql_query($sql,$conexion);

if(list (
$id,$nombre,$apellido,$cedula,$sexo,$email,$codigo,$telefono,$fecha,$opcional,$egreso,$carrera,$pactual,$banco,$deposito) = mysql_fetch_array($consulta)){

echo 
$sql;}
?>
Archivo de formulario
Código HTML:
<form action="conet.php" method="post">
<label><br />
<select name="tabla" id="select">
    <option value="dhumanos">Derechos Humanos</option>
    <option value="dinternacional">Derecho Internacional Humanitario</option>
</select></label>
<p>
  <label>
  <input type="submit" name="Submit" value="Submit" />
  </label>
</p>
</form> 
Indudablemente me inprime la variable pero me da el mismo error. Insisto en colocar el array porque de ahi parte el error y eso es lo que me tiene loco
  #40 (permalink)  
Antiguo 04/04/2008, 15:14
 
Fecha de Ingreso: noviembre-2005
Mensajes: 222
Antigüedad: 18 años, 5 meses
Puntos: 2
Re: Variable dentro del query

hombre, eso es porque no tendrá la función puesta.

¿has borrado el include?

si los campos son numéricos en cedula y en id, pq los pones con comillas???
  #41 (permalink)  
Antiguo 04/04/2008, 15:15
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Variable dentro del query

Fijate.... te voy a pasar el archivo php completo original para que veas lo que estoy buscando

Código PHP:
<body>
<form id="form1" name="form1" method="post" action="">
  <label><input type="text" name="buscar" /></label>
Selecciona el diplomado donde desea buscar: 
<label><select name="base" id="select">
    <option value="dhumanos">Derechos Humanos</option>
    <option value="dinternacional">Derecho Internacional Humanitario</option>
</select></label>

  <label><input type="submit" name="Submit" value="Submit" /></label>
</form>

<?php 
include "conexion.php";

$tabla=$_POST['base'];

$buscar=$_POST["buscar"];  

$sql"select * from $tabla where id='$_POST[buscar]' or nombre='$_POST[buscar]'";

$consultamysql_query($sql,$conexion);

if(list (
$id,$nombre,$apellido) = mysql_fetch_array($consulta)) {

?>

<form id="form2" name="form2" method="post" action="">

<label>Nombre: <input name="nombre" type="text" value="<?php print $nombre;?>" /></label><br>
<label>Apellido: <input name="apellido" type="text" value="<?php print $apellido;?>" /></label><br>
<input name="oculto" type="hidden" id="oculto" value="<?php print $id;?>" />
    
<?php 

else {print 
"dato no encontrado";}
        
?>

<p><label><input type="submit" name="Submit2" value="Modificar" /> </label></p>
</form>
  
<?php 
if ($_POST[oculto]){
 
$sql="update $tabla set nombre='$_POST[nombre]',apellido='$_POST[apellido]'";

$consulta=mysql_query ($sql$conexion);

if(!
mysql_error ()) {print "se modifico con exito";}
else{ print 
"fallo en la modificacion";}

mysql_close ($conexion); } 
 
?>
Intenta de esta manera con dos base de datos de de dos campos cada una para que veas el error y lo que no entiendo es porque aparece unicamente cuando mando el nombre de la tabla por la variable y me dice que es un error de array porque si colocas el nombre de la tabla en el query no da error.

Este formulario es para una busqueda y modificacion de registros todo en un solo archivo y con respecto a calmarme jejejejjee de verdad que lo necesito porque apuesto a que puede que sea una tonteria pero ya con la molestia que me produce no lo veo!! diiiooossss hheeellllppp mmeee jejejejej gracias
  #42 (permalink)  
Antiguo 04/04/2008, 15:59
Avatar de agressor  
Fecha de Ingreso: noviembre-2007
Ubicación: Knocking the Death Door..
Mensajes: 368
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Variable dentro del query

Bueno solo te recomiendo que te tomes un refresco y que te alejes 30 minutos para descansar ojo irte de tu compu por ese lapso e intentar no pensar en eso..

Te lo recomiendo..

Ayuda..

Ademas ya casi lo tienes solo tranquilizate..


Salu2..!!
__________________
Somos lo que nosotros queremos ni mas ni menos..
No hay dia mas perdido que aquel en que no hemos reido..
La vida es tal y como debe ser...
Nadie vivira por ti...
  #43 (permalink)  
Antiguo 04/04/2008, 16:20
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Variable dentro del query

Gracias. Feliz fin de semana para todos
  #44 (permalink)  
Antiguo 04/04/2008, 16:21
 
Fecha de Ingreso: septiembre-2007
Mensajes: 120
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Variable dentro del query

a y para los que pueda tomar la molestia de ver o intentar chequear el error aun busco la solucion.... helppp
  #45 (permalink)  
Antiguo 04/04/2008, 16:27
 
Fecha de Ingreso: noviembre-2005
Mensajes: 222
Antigüedad: 18 años, 5 meses
Puntos: 2
Re: Variable dentro del query

a ver si con esto te va
Código PHP:
<body> 
<form id="form1" name="form1" method="post" action=""> 
  <label><input type="text" name="buscar" /></label> 
Selecciona el diplomado donde desea buscar:  
<label><select name="base" id="select"> 
    <option value="dhumanos">Derechos Humanos</option> 
    <option value="dinternacional">Derecho Internacional Humanitario</option> 
</select></label> 

  <label><input type="submit" name="Submit" value="Submit" /></label> 
</form> 

<?php  
if ($_POST["base"]) {
include 
"conexion.php";

$tabla=$_POST['base']; 

$buscar=$_POST["buscar"];   

$sql"select * from $tabla where id='$buscar' or nombre='$buscar'"

$consultamysql_query($sql,$conexion); 

if(list(
$id,$nombre,$apellido) = mysql_fetch_array($consulta)) 



?> 

<form id="form2" name="form2" method="post" action=""> 

<label>Nombre: <input name="nombre" type="text" value="<?php print $nombre;?>" /></label><br> 
<label>Apellido: <input name="apellido" type="text" value="<?php print $apellido;?>" /></label><br> 
<input name="oculto" type="hidden" id="oculto" value="<?php print $id;?>" /> 
<input name="base" type="hidden" id="base" value="<?php print $tabla;?>" /> 
     
<?php }  

else {if (!
$_POST[oculto]) print "dato no encontrado";} 
         
?> 

<p><label><input type="submit" name="Submit2" value="Modificar" /> </label></p> 
</form> 
   
<?php  
if ($_POST[oculto]){ 
    
$tabla=$_POST['base'];
  
$nombre=$_POST['nombre'];
  
$apellido=$_POST['apellido'];
$sql="update $tabla set nombre='$nombre', apellido='$apellido'"

$consulta=mysql_query ($sql$conexion); 

if(!
mysql_error ()) {print "se modifico con exito";} 
else{ print 
"fallo en la modificacion";} 

mysql_close ($conexion); }  
  }
?>

Última edición por jovendigital; 04/04/2008 a las 16:43 Razón: mejoras del codigo, ya lo tienes completo y te he incluido un if para que no te de error al modificar los datos
  #46 (permalink)  
Antiguo 04/04/2008, 19:56
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Variable dentro del query

Todo el código que colocas en este mensaje está en una sola página PHP? Y el error te aparece al abrirla no?

Si es así, se debe a que al abrirla obviamente el formulario aún no ha sido enviado, por lo que $_POST no existe. Por eso te muestra el error SQL. Al escoger una opción del <select> y enviar el formulario, debe cargarte los datos.

Ahora, si no es ese el problema, imprime tu consulta antes de ejecutarla, y ves cuál puede ser el error. Lo más seguro es que tu variable $tabla no está siendo definida correctamente.

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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:58.