Foros del Web » Programando para Internet » PHP »

¿Como incluir variable php en codigo sql?

Estas en el tema de ¿Como incluir variable php en codigo sql? en el foro de PHP en Foros del Web. Hola, la pregunta es ¿Cual es la forma de mezclar las variables de php con las ordenes enviadas a sql?, me explico Digamos que queremos ...
  #1 (permalink)  
Antiguo 05/06/2010, 17:10
 
Fecha de Ingreso: diciembre-2008
Mensajes: 91
Antigüedad: 15 años, 5 meses
Puntos: 1
Busqueda ¿Como incluir variable php en codigo sql?

Hola, la pregunta es ¿Cual es la forma de mezclar las variables de php con las ordenes enviadas a sql?, me explico

Digamos que queremos mostrar los datos de un usuario,por ejemplo. bueno tal y como esta no funciona, supongo que habra que poner algun caracter antes y despues de la variable en la sentencia sql, pero he probado mil y no se cual puede ser. si alguien me puede aclarar algo se lo agradeceria.
<?
$variable= 'pepito';


$sql = mysql_query("SELECT * FROM usuarios WHERE nombre= $variable ");

while ($mostrar = mysql_fetch_array($sql)){
print $mostrar[usuario];
print "<br>";
print $mostrar[id];
print "<br>";
print $mostrar[email];
}

mysql_free_result($sql);
?>


Ale graciass
  #2 (permalink)  
Antiguo 05/06/2010, 17:32
rpv
 
Fecha de Ingreso: febrero-2010
Mensajes: 275
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: ¿Como incluir variable php en codigo sql?

mira, esto es lo que pasa:


Código PHP:
Ver original
  1. $variable='miguel';
  2. $sql = mysql_query("SELECT * FROM usuarios WHERE nombre= $variable ");
  3. //entonces la query que se enviaría sería:
  4. //SELECT * FROM usuarios WHERE nombre= miguel

entonces mysql te enviaría un mensaje de error diciéndote que no existe el campo `miguel`

por tanto se debe hacer:


Código PHP:
Ver original
  1. $variable='miguel';
  2. $sql = mysql_query("SELECT * FROM usuarios WHERE nombre='$variable'");
  3. //entonces la query que se enviaría sería:
  4. //SELECT * FROM usuarios WHERE nombre='miguel'

y la query se procesaría correctamente y te entregaría resultados, de haberlos, claro.
  #3 (permalink)  
Antiguo 05/06/2010, 17:46
 
Fecha de Ingreso: diciembre-2008
Mensajes: 91
Antigüedad: 15 años, 5 meses
Puntos: 1
Solucionado

Ya! por si a alqguien le hace falta

sustituir
$sql = mysql_query("SELECT * FROM usuarios WHERE nombre= $variable ");
por
$result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$variable.'\'');
  #4 (permalink)  
Antiguo 05/06/2010, 18:12
 
Fecha de Ingreso: diciembre-2008
Mensajes: 91
Antigüedad: 15 años, 5 meses
Puntos: 1
¿Como incluir una variable en un CREATE TABLE?

Y como utilizariamos una variable en un CREATE TABLE

ejemplo
$variable= 'pepito';

$sql = 'CREATE TABLE '$pepito'
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)';

ami asi no me funciona
  #5 (permalink)  
Antiguo 05/06/2010, 18:50
rpv
 
Fecha de Ingreso: febrero-2010
Mensajes: 275
Antigüedad: 14 años, 2 meses
Puntos: 10
Respuesta: ¿Como incluir variable php en codigo sql?

lo que debes hacer es concatenar (unir) la variable con el string de la variable $sql:




Código PHP:
Ver original
  1. $variable= 'pepito';
  2. $sql = 'CREATE TABLE '.$variable.'
  3. (First_Name char(50),
  4. Last_Name char(50),
  5. Address char(50),
  6. City char(50),
  7. Country char(25),
  8. Birth_Date date)';

en PHP la concatenación se hace con el . (punto)
  #6 (permalink)  
Antiguo 10/06/2010, 09:42
 
Fecha de Ingreso: diciembre-2008
Mensajes: 91
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: ¿Como incluir variable php en codigo sql?

Y como podria insertar variables en un insert into?

mysql_query("insert into numero_usuario'.$variable.' (cat, type) values ('$categoria','$tipo')");
  #7 (permalink)  
Antiguo 11/06/2010, 09:11
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Hola, mesenier.

Traslado el tema a una sección donde encaja mejor.
Tema trasladado desde la sección de Mysql.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: programacion, sql, variables
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 09:50.