Foros del Web » Programando para Internet » PHP »

por que da error???

Estas en el tema de por que da error??? en el foro de PHP en Foros del Web. hola gente, ayudenme a descubrir por que me da error esta consulta... tengo una tabla con 3 campos, id, usuario, key hago la siguiente consulta: ...
  #1 (permalink)  
Antiguo 15/03/2011, 13:50
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
por que da error???

hola gente, ayudenme a descubrir por que me da error esta consulta...

tengo una tabla con 3 campos, id, usuario, key

hago la siguiente consulta:

Código PHP:
  function Pass_API($api_key)
  {
    include(
"bd.class.php");
    
$db = new db_class;
    
$db->connect();    
    
    
$key trim($api_key);
    
    
$sql "SELECT COUNT(*) FROM api WHERE key = ";
    
$sql .= $key;
    
    
$consulta $db->select($sql);
    
    
$db->print_last_error();    
    
    return array(
'valor'=>$consulta'key'=>$api_key);
  } 
cuando la llamo,

Código PHP:
$pass_api "615wcBop0912MlKppA543AA";
$veri $mc->Pass_API($pass_api); 
echo 
$veri['valor']; 

Código:
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 'key = 615wcBop0912MlKppA543AA' at line 1

alguna sugerencia???

gracias.
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #2 (permalink)  
Antiguo 15/03/2011, 13:57
 
Fecha de Ingreso: marzo-2011
Ubicación: Palmira
Mensajes: 35
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: por que da error???

Hola,

que tal si intentas encerrar key con comillas :

Código MySQL:
Ver original
  1. $sql = "SELECT COUNT(*) FROM api WHERE key = ";
  2.     $sql .= "'". $key . "'";

Es una idea, algunas versiones son estrictas en ese sentido.

saludos.
  #3 (permalink)  
Antiguo 15/03/2011, 13:57
 
Fecha de Ingreso: diciembre-2010
Ubicación: valencia
Mensajes: 203
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: por que da error???

te faltan las comillas que encierren el valor de key.
  #4 (permalink)  
Antiguo 15/03/2011, 13:58
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: por que da error???

Porque necesitas encerrar entre comillas el valor, ya que es un campo tipo string.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 15/03/2011, 13:58
 
Fecha de Ingreso: marzo-2011
Ubicación: Viña del mar
Mensajes: 21
Antigüedad: 13 años, 1 mes
Puntos: 2
Respuesta: por que da error???

Si mal no me equivoco el include debiera de ir en la otra.

Código PHP:
include("bd.class.php");

$pass_api "615wcBop0912MlKppA543AA";
$veri $mc->Pass_API($pass_api); 
echo 
$veri['valor']; 
intentalo asi y ve q tal y las comillas igual ajjaja xd
  #6 (permalink)  
Antiguo 15/03/2011, 14:22
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
Respuesta: por que da error???

ninguna de las anteriores....

scandar, el include va en la funcion, ya que son 2 archivos diferentes

1.- el index.php donde va la llamada a la clase
2.- la clase que lleva el include a la bd para verificar el api_key

:S
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #7 (permalink)  
Antiguo 15/03/2011, 14:26
Avatar de cadrogui  
Fecha de Ingreso: junio-2003
Mensajes: 875
Antigüedad: 20 años, 10 meses
Puntos: 5
Respuesta: por que da error???

solucionado

Código PHP:


    $sql 
"SELECT COUNT(*) FROM api WHERE api_key = ";
    
$sql .= "'" .$key"'";
    
    
$consulta $db->select_one($sql); 
gracias!!!
__________________
La mejor manera de aprender es por medio de un aprendizaje significativo....

http://www.cocert.cl
  #8 (permalink)  
Antiguo 15/03/2011, 14:28
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: por que da error???

Te equivocas, al parecer no hiciste la prueba .....

Edito: ya lo hiciste
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: Ninguno
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 18:53.