Foros del Web » Programando para Internet » PHP »

You have an error in your SQL syntax; check the manual that corresponds to your MySQL

Estas en el tema de You have an error in your SQL syntax; check the manual that corresponds to your MySQL en el foro de PHP en Foros del Web. POR FAVOR preciso que me ayuden... tengo en un servidor PHP5 y MySQL 5, el tema es que esto andaba... mismo la versión 5... ahora ...
  #1 (permalink)  
Antiguo 12/04/2005, 20:04
Avatar de Cbas  
Fecha de Ingreso: enero-2002
Ubicación: capital federal
Mensajes: 437
Antigüedad: 22 años, 3 meses
Puntos: 2
You have an error in your SQL syntax; check the manual that corresponds to your MySQL

POR FAVOR preciso que me ayuden... tengo en un servidor PHP5 y MySQL 5, el tema es que esto andaba... mismo la versión 5... ahora dejó de funcionar mágimanete y no sé por qué...

el error que me da es:
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 'AND id_encuesta = 5' at line 1

El query que yo tengo es:

$rsv = mysql_query("SELECT SUM(votos) as total FROM kmas_encuestas_respuestas WHERE id_encuesta = ".$ide) or die(mysql_error());
$row = mysql_fetch_array($rsv);

y donde me tira el error es en:
$row = mysql_fetch_array($rsv);

El tema es que si lo ejecuto en el myadmin funciona perfecto...

Alguien podría darme una mano please????
GRACIAS DE ANTEMANO!
__________________
La Perfección es enemigo de lo bueno.
  #2 (permalink)  
Antiguo 12/04/2005, 20:52
 
Fecha de Ingreso: julio-2003
Ubicación: Colombia
Mensajes: 591
Antigüedad: 20 años, 9 meses
Puntos: 7
changos, lo que yo no veo en tu consulta es donde usas el AND ....

y el error se refiere a ese conector logico...

Chaop!
  #3 (permalink)  
Antiguo 12/04/2005, 20:59
Avatar de Cbas  
Fecha de Ingreso: enero-2002
Ubicación: capital federal
Mensajes: 437
Antigüedad: 22 años, 3 meses
Puntos: 2
Soy Un Idiota!

Perdón... ahora que me dijiste eso me puse a ver.. y era otra la consulta .

Y obviamente otro el problema.. no me llegaba una variable

Ahora lo pude solucionar... MUCHAS GRADIAS!
__________________
La Perfección es enemigo de lo bueno.
  #4 (permalink)  
Antiguo 13/04/2005, 10:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Como consejo adicional .. usa comillas simples para llamar a tus variables PHP:
Código PHP:
$rsv mysql_query("SELECT SUM(votos) as total FROM kmas_encuestas_respuestas WHERE id_encuesta = '".$ide"'") or die(mysql_error()); 
Contar también los registros que te puede arrojar tu consulta .. te ayudará a controlar esos errores ...

Código PHP:
if (mysql_num_rows($rsv) == 1){
   
// si hay resultados .. los accedes ..
  
$row mysql_fetch_array($rsv);
   
// etc ...
} else {
   echo 
"no hay resultados";

Un saludo,
  #5 (permalink)  
Antiguo 30/05/2008, 10:50
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: You have an error in your SQL syntax; check the manual that corresponds to

siguien en este tema para ver si encuentro solucion a mi problema

tengo un problema parecido
Error en consulta: , error: 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 ''factura' GROUP BY 'email'' at line 1

Código PHP:
<?php    
include ('conect.php');   

$sqlex="SELECT 'email', COUNT(*) AS 'total', SUM('monto') AS 'suma' FROM 'factura' GROUP BY 'email'";   
$sql_execex=mysql_query($sqlex) or die( "Error en consulta: $sql_execex, error: " mysql_error());
while(
$rowex=mysql_fetch_assoc($sql_execex))   
{    
$email $rowex['email'];
if( empty( 
$email ) ) {
        die( 
"no existe el email: $email, datos: " print_r$rowextrue ) );
}
$sqlexz="SELECT * FROM clientes WHERE email=".$email
$sql_execexz=mysql_query($sqlexz) or die( "Error en consulta: $sqlexz, error: " mysql_error());  
$datoscli mysql_fetch_assoc$sql_execexz );
?>  

<table width="955" border="0" cellspacing="0" cellpadding="0">   
  <tr>   
    <td><table width="200" border="1" bgcolor="#999999">   
      <tr>   
        <td width="80" bgcolor="#FFFFFF"><?php echo $rowex['suma']; ?></td>   
          <td width="80" bgcolor="#FFFFFF"><?php echo $rowex['total']; ?></td>   
          <td width="40" bgcolor="#FFFFFF"><?php echo $rowexz['email']; ?></td>   
        </tr>  
      </table>  
      <?php }?>      
      <p>&nbsp;</p> 
    <p>&nbsp;</p></td>   
  </tr>
podrian ayudarme??
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #6 (permalink)  
Antiguo 30/05/2008, 11:41
 
Fecha de Ingreso: enero-2008
Mensajes: 163
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: You have an error in your SQL syntax; check the manual that corresponds to

Pues nose pk utilisas las ' ' si no son necesarias mucho menos en el nombre de la tabla
Cita:
$sqlex="SELECT 'email', COUNT(*) AS 'total', SUM('monto') AS 'suma' FROM 'factura' GROUP BY 'email'";
prueba asi

Cita:
$sqlex="SELECT email, COUNT(*) AS total, SUM(monto) AS suma FROM factura GROUP BY email";
  #7 (permalink)  
Antiguo 30/05/2008, 11:47
Avatar de deet  
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 18 años, 11 meses
Puntos: 1
Respuesta: You have an error in your SQL syntax; check the manual that corresponds to

debes quitarle las comillas simples a los nombres de campos y nombre de tabla
  #8 (permalink)  
Antiguo 30/05/2008, 12:02
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: You have an error in your SQL syntax; check the manual that corresponds to

lo hice... y miren

Error en consulta: SELECT * FROM clientes WHERE [email protected], error: 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 '@alo.com' at line 1
Código PHP:
<?php    
include ('conect.php');   

$sqlex="SELECT email, COUNT(*) AS total, SUM(monto) AS suma FROM factura GROUP BY email";
$sql_execex=mysql_query($sqlex) or die( "Error en consulta: $sql_execex, error: " mysql_error());
while(
$rowex=mysql_fetch_assoc($sql_execex))   
{    
$email $rowex['email'];
if( empty( 
$email ) ) {
        die( 
"no existe el email: $email, datos: " print_r$rowextrue ) );
}
$sqlexz="SELECT * FROM clientes WHERE email=".$email
$sql_execexz=mysql_query($sqlexz) or die( "Error en consulta: $sqlexz, error: " mysql_error());  
$datoscli mysql_fetch_assoc$sql_execexz );
?>  

<table width="955" border="0" cellspacing="0" cellpadding="0">   
  <tr>   
    <td><table width="200" border="1" bgcolor="#999999">   
      <tr>   
        <td width="80" bgcolor="#FFFFFF"><?php echo $rowex['suma']; ?></td>   
          <td width="80" bgcolor="#FFFFFF"><?php echo $rowex['total']; ?></td>   
          <td width="40" bgcolor="#FFFFFF"><?php echo $rowexz['email']; ?></td>   
        </tr>  
      </table>  
      <?php }?>      
      <p>&nbsp;</p> 
    <p>&nbsp;</p></td>   
  </tr>
pareciera q no me pued comparar mails... o relacionarlos
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #9 (permalink)  
Antiguo 30/05/2008, 12:21
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: You have an error in your SQL syntax; check the manual that corresponds to

perfecto... el error era el siguiente....
cuando lo pongo a comparar las consultas por mail al llegar a la "@" me lanza el error y me rompe la consulta, pues bueno lo compare con numeros cambiando los datos de email a numeros pero ahora busco extraer los datos de la segunda consulta y no los imprime fijense lo q hice!!!

Código PHP:
<?php    
include ('conect.php');   

$sqlex="SELECT email, COUNT(*) AS total, SUM(monto) AS suma FROM factura GROUP BY email";
$sql_execex=mysql_query($sqlex) or die("Error en consulta: $sql_execex, error: "mysql_error());
while(
$rowex=mysql_fetch_assoc($sql_execex))   
{    
$email $rowex['email'];
if( empty( 
$email ) ) {
        die( 
"no existe el email: $email, datos: " print_r$rowextrue ) );
}
$sqlexz="SELECT * FROM clientes WHERE email=".$email
$sql_execexz=mysql_query($sqlexz) or die( "Error en consulta: $sqlexz, error: " mysql_error());  
$datoscli mysql_fetch_assoc$sql_execexz );
?>  

<table width="955" border="0" cellspacing="0" cellpadding="0">   
  <tr>   
    <td><table width="200" border="1" bgcolor="#999999">   
      <tr>   
        <td width="80" bgcolor="#FFFFFF"><?php echo $rowex['suma']; ?></td>   
          <td width="80" bgcolor="#FFFFFF"><?php echo $rowex['total']; ?></td>   
          <td width="40" bgcolor="#FFFFFF"><?php echo $rowexz['nombre']; ?></td>   
        </tr>  
      </table>  
      <?php }?>      
      <p>&nbsp;</p> 
    <p>&nbsp;</p></td>   
  </tr>
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #10 (permalink)  
Antiguo 30/05/2008, 12:34
Avatar de deet  
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 18 años, 11 meses
Puntos: 1
Respuesta: You have an error in your SQL syntax; check the manual that corresponds to

en la segunda consulta que no la había visto al principio, ahi sí debes colocarle comillas simples ya que se trata de una cadena.

$sqlexz="SELECT * FROM clientes WHERE email='$email'";
  #11 (permalink)  
Antiguo 30/05/2008, 12:44
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: You have an error in your SQL syntax; check the manual that corresponds to

Cita:
Iniciado por deet Ver Mensaje
en la segunda consulta que no la había visto al principio, ahi sí debes colocarle comillas simples ya que se trata de una cadena.

$sqlexz="SELECT * FROM clientes WHERE email='$email'";
negativo brother...
sigue sin imprimir... me imprime el conteo perfecto, la suma, mas no los datos de la segunda consulta q deberia de relacionarse con la primera...

http://indexa.com.ve/latiendadelpintor/admin/prueba.php
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #12 (permalink)  
Antiguo 30/05/2008, 12:54
Avatar de deet  
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 18 años, 11 meses
Puntos: 1
Respuesta: You have an error in your SQL syntax; check the manual that corresponds to

veo tambien que en esta línea guarda los datos en una variable:

$datoscli = mysql_fetch_assoc( $sql_execexz );

y cuando intentas imprimirla pones:

<?php echo $rowexz['nombre']; ?>

debería ser:

<?php echo $datoscli['nombre']; ?>
  #13 (permalink)  
Antiguo 30/05/2008, 12:59
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: You have an error in your SQL syntax; check the manual that corresponds to

finaaaaaaaaaaaalmente... muchas gracias deet y disculpa las molestias!!! :)
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




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