Foros del Web » Programando para Internet » PHP »

Concatenar consulta SQL con Variable PHP

Estas en el tema de Concatenar consulta SQL con Variable PHP en el foro de PHP en Foros del Web. Hola, agradeceria su apoyo para que me puedan orientar en la sintaxis de una consulta sql. el problema es que tengo una sintaxis de SQL ...
  #1 (permalink)  
Antiguo 23/05/2013, 12:17
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 2 meses
Puntos: 5
Mensaje Concatenar consulta SQL con Variable PHP

Hola, agradeceria su apoyo para que me puedan orientar en la sintaxis de una consulta sql. el problema es que tengo una sintaxis de SQL de la siguiente manera:
Código SQL:
Ver original
  1. SELECT top 5 FROM programas

ahora tengo un combo(en php) que muestra 3 datos: 5, 10 y 20. lo que desearia saber es como reemplazar dentro de php el top 5 (de la consulta SQL) por una de las variables del combo que tienen los 3 datos.lo hice de la siguiente manera pero me muestra error:

Código PHP:
Ver original
  1. $sql ="SELECT top". $combo ." from programa"

agradecere mucho su ayuda.
  #2 (permalink)  
Antiguo 23/05/2013, 12:24
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Concatenar consulta SQL con Variable PHP

Cita:
pero me muestra error:
¿Y qué error te muestra?

Supongo que no pretenderás que adivinemos... Por que a menos que no uses SQL Server, o bien la variable esté vacía, no hay otra cosa por imaginar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 23/05/2013, 12:37
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 2 meses
Puntos: 5
Respuesta: Concatenar consulta SQL con Variable PHP

gracias....olvide ese punto....el mensaje que muestra es el siguiente:

Warning: mssql_query() [function.mssql-query]: message: L�nea 1: sintaxis incorrecta cerca de '.5'. (severity 15) in C:\xampp\htdocs\Menu\default.php on line 224

eso es lo que muestra
  #4 (permalink)  
Antiguo 23/05/2013, 12:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Concatenar consulta SQL con Variable PHP

Cita:
Warning: mssql_query() [function.mssql-query]: message: L�nea 1: sintaxis incorrecta cerca de '.5'. (severity 15) in C:\xampp\htdocs\Menu\default.php on line 224
No es un error en el SQL, sino en el script de PHP.

Postea el código correspondiente al script para verificar dónde está el error.
Y, preventivamente, deja un espacio entre el "top" y el cierre de esas comillas. Te puede estar generando "TOP5" en lugar de "TOP 5".
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 23/05/2013, 12:46
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: Concatenar consulta SQL con Variable PHP

pues es que si lo pones como el codigo que nos pusiste

Código PHP:
Ver original
  1. $sql ="SELECT top". $combo ." from programa"

estas poniendo pegada la sentencia osea esto SELECT top5 FROM programas


intenta asi


Código PHP:
Ver original
  1. $sql ="SELECT top ". $combo ." from programa";
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #6 (permalink)  
Antiguo 23/05/2013, 12:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Concatenar consulta SQL con Variable PHP



Eso es lo que yo quería decirle, pero de todos modos le devolvería un error de sintaxis en SQL Server, y no un error en el script PHP.
Para mí tiene un problema adicional, fuera de ese.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 23/05/2013, 12:51
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 301
Antigüedad: 11 años, 2 meses
Puntos: 5
Respuesta: Concatenar consulta SQL con Variable PHP

Este es el codigo que estoy usando:
Código PHP:
Ver original
  1. function getTopCustomersXML($intYear, $howMany, $forDataURL) {
  2.     // Function to connect to the DB
  3.     $link = connectToDB();
  4.    
  5.     $strSQL = "SELECT top " .$howMany. " c.CompanyName as CustomerName, SUM(d.Quantity*p.UnitPrice) As Total, SUM(d.Quantity) As Quantity FROM Customers as c, [Order Details] as d, Orders as o, Products as p WHERE YEAR(OrderDate)=" . $intYear . " and c.CustomerID=o.CustomerID and o.OrderID=d.OrderID and d.ProductID=p.ProductID GROUP BY c.CompanyName ORDER BY Total DESC";
  6.     //if ($howMany!=-1)
  7.         //$strSQL .= " LIMIT " . $howMany;//no funca en SQL
  8.    
  9.     $result = mssql_query($strSQL) or die(mssql_error());
  10.  
  11.     //Initialize <categories> element
  12.     $strCat = "<categories>";
  13.    
  14.     //Initialize datasets
  15.     $strAmtDS = "<dataset seriesname='Amount'>";
  16.     $strQtyDS = "<dataset seriesName='Quantity' parentYAxis='S'>";
  17.    
  18.     //Iterate through each data row
  19.     if ($result) {
  20.         while($ors = mssql_fetch_array($result)) {
  21.             $strCat .= "<category label='" . escapeXML($ors['CustomerName'],$forDataURL) . "'/>";
  22.             $strAmtDS .= "<set value='" . $ors['Total'] . "'/>";
  23.             $strQtyDS .= "<set value='" . $ors['Quantity'] . "'/>";
  24.         }
  25.     }
  26.     mssql_close($link);
  27.  
  28.     //Closing elements
  29.     $strCat .= "</categories>";
  30.     $strAmtDS .= "</dataset>";
  31.     $strQtyDS .= "</dataset>";
  32.     //Entire XML - concatenation
  33.     $strXML = $strCat . $strAmtDS . $strQtyDS;
  34.        
  35.     return $strXML;
  36. }
  #8 (permalink)  
Antiguo 23/05/2013, 13:00
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Concatenar consulta SQL con Variable PHP

En ese segmento no hay errores de ningún tipo, pero evidentemente eso no es todo el script.

Postea el script completo, o bien revisalo tu punto a punto.
Hay un error en una parte.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: concatenar, select, sql, variable, 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 02:31.