Comunidad de diseño web y desarrollo en internet online

Problema Conexión "You have an error in your SQL syntax;...

Citar            
MensajeEscrito el 20 Nov 2008 09:19 pm
Hola rogaria me solucionaran si supiesen una duda.

En mi ordenador las pruebas que he podido hacer hasta ahora con bases de datos php me funcionan perfectamente
Tengo instalado localmente el phpMyadmin 2.6.2 en windows y el servidor en el que hago las pruebas tienen phpMyAdmin - 2.10.0.1 bajo Linux

El problema es que el código no me conecta a las base de datos cuando subo los archivos al servidor

El error 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 '' at line 1"

La consulta es:

$select = "SELECT id,Codigo,Modelo,Ano,Color" ;
$from = " FROM libros";
$where = " WHERE id>0";


La tabla "libros" está creada en minusculas "libros" no como "Libros" o "LIBROS", lo mismo que los campos. Se que linux no admite las ñ y distingue entre mayusculas y minusculas.

No se que puede estar pasando y como puede haber tanta diferencia entre códigos MySQL entre las dos versiones


He visto errores resueltos por ustedes que dan el mismo error como: 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 'fulltext,state,sectionid,mask,catid,created,created_by,modified,modified_by,chec' at line 1

¿En mi caso cual es el tipo de texto que da error? ¿No deberia estar el error entre los acentos ''?

Gracias por su tiempo y un saludo a todos

Por Vicos

11 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 21 Nov 2008 06:12 am
imprime la consulta completa para ver que sale

hasta ahora tu sql debiera ser esto

Código :

$sql='
SELECT id,Codigo,Modelo,Ano,Color
 FROM libros
 WHERE id>0
';

fijate si los nombre de los campos y tabla son correctos, en mi experiencia son case sensible

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 21 Nov 2008 12:54 pm
Hola gracias Inyaka
entonces no se puede ahora concatenar la consulta con las variables $select $from y $where??? de ninguna manera????
Tendria que hacerlo así para luego añadir modificaciones en la clausula where.

Adjunto el código

$select = 'SELECT id,Codigo,Modelo,Ano,Color FROM libros';
$where = ' WHERE id>0';


if($Marcas != "0"){
$where .= " AND Codigo = $Marcas";
}

Gracias por todo

Por Vicos

11 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 21 Nov 2008 01:11 pm
si, puedes pero seria conveniente que supieras que consulta estas mandando:

Código PHP :

<?php

$where = ' WHERE id>0';


if($Marcas != "0"){
$where .= " AND Codigo = $Marcas";
}
$sql = "SELECT id,Codigo,Modelo,Ano,Color FROM libros $where";// <-ojo con el uso de comillas dobles
echo $sql; // para saber que estas mandando luego lo borras ;)
$result = mysql_query($sql);

?>

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 22 Nov 2008 02:04 pm
Gracias Inyaka

Me sigue funcionando tambien así en el servidor local no en el remoto:

Sigue saliendo el mensaje:

"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 '' at line 1"

///////////////////////////////////////////////
$where = ' WHERE id>0';

$sql = 'SELECT id,Codigo,Modelo,Ano,Color,Foto1 FROM libros $where';


if($Marcas != "0"){
$where .= " AND Codigo = $Marcas";
}



$res= mysql_query($sql . $where) or die (mysql_error());
///////////////////////////////////////////////////////////////

La creacción de la tabla en SQL es:

CREATE TABLE libros(
id mediumint(8) unsigned NOT NULL auto_increment,
Codigo mediumint(8) unsigned NOT NULL,
Modelo varchar(40) NOT NULL default '',
Ano varchar(4) NOT NULL default '',
Color varchar(30) NOT NULL default '',
Foto1 varchar(50) NOT NULL default '',
PRIMARY KEY (id),
FOREIGN KEY (Codigo) REFERENCES marcas ON DELETE CASCADE
);


////No me explico gracias por todo Inyaka

Por Vicos

11 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 22 Nov 2008 02:21 pm
si dice que hay una error en la sintaxis es que hay un error en la sintaxis, por eso te digo que imprimas el sql que estas mandando, no las variables, el sql en si que estas ejecutando

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 23 Nov 2008 01:33 pm
Gracias Inyaka. Saludos

Por Vicos

11 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 28 Feb 2010 03:36 am
Buenas noches .. muchachos tengo un error y en el codigo php que tengo para dscargar archivos de mysql que no he podido arreglar.. por favor ayudenme!!!


este es el 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 '' at line 1 qry::Select * from tbl_documentos where id_documento=


este es mi codigo

<?php
//NOS CONECAMOS A LA BASE DE DATOS
//REMPLAZEN SUS VALOS POR LOS MIOS
mysql_connect("localhost","root","miclave") or die("No se pudo conectar a la base de datos");

//SELECCIONAMOS LA BASE DE DATOS CON LA CUAL VAMOS A TRABAJAR CAMBIEN EL VALOR POR LA SUYA
mysql_select_db("conecto");

//CONSTRUIMOS LA CONSULTA PARA OBTENER EL DOCUMENTO
$qry="Select * from tbl_documentos where id_documento={$_REQUEST['id_documento']}";
$res=mysql_query($qry) or die(mysql_error()." qry::$qry");
$obj=mysql_fetch_object($res);

//OBTENEMOS EL TIPO MIME DEL ARCHIVO ASI EL NAVEGADOR SABRA DE QUE SE TRATA
header("Content-type: {$obj->tipo}");

//OBTENEMOS EL NOMBRE DEL ARCHIVO POR SI LO QUE SE REQUIERE ES DESCARGARLO
header('Content-Disposition: attachment; filename="'.$obj->nombre_archivo.'"');

//Y PO ULTIMO SIMPLEMENTE IMPRIMIMOS EL CONTENIDO DEL ARCHIVO
print $obj->contenido;

//CERRAMOS LA CONEXION
mysql_close();
?>

Por aprendiendoo

3 de clabLevel



 

venezula

firefox
Citar            
MensajeEscrito el 28 Feb 2010 06:11 am

Código MySQL :

Select * from tbl_documentos where id_documento=


esa consulta esta mal


el error es evidente {$_REQUEST['id_documento']}

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 28 Feb 2010 04:28 pm
Que hubo.. me vas a disculpar mi pana pero no me espsificaste donde esta el eror... de pana no lo noto.

Por aprendiendoo

3 de clabLevel



 

venezula

firefox
Citar            
MensajeEscrito el 28 Feb 2010 04:47 pm
lee bien todo este post (sobre todo lo que yo digo.

tu debes encontrar el error, es por eso de el pescado y la caña de pescar ;)

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 28 Feb 2010 08:48 pm
Haz un echo $qry; justo antes de llamar a mysq_query y verás que el error es evidente.

Nota aparte: tu consulta SQL es insegura.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 28 Feb 2010 09:31 pm

DriverOp escribió:

Haz un echo $qry; justo antes de llamar a mysq_query y verás que el error es evidente.

Nota aparte: tu consulta SQL es insegura.


hargg, toda la razón se me habia escapado ese detalle :P


jamas pongas las variables que ingresa el usuario directamente en tu codigo primero debes validar, por ejemplo :

Código PHP :

$id= intval($_POST['id_documento']); 
/*
 id_documento es un numero entero, por tanto basta con usar intval para asegurarte
 que a tu sistema solo llegue una variable del tipo integer
*/
$qry="Select * from tbl_documentos where id_documento=}";

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 01 Mar 2010 12:32 am
Muchas gracias mi pana :D

Por aprendiendoo

3 de clabLevel



 

venezula

firefox
Citar            
MensajeEscrito el 03 Mar 2010 02:17 am
buenas noches... estoy subiendo archivos a una tabla de Mysql pero solo puedo guardar archivos de menos de 1MB... cuando sobrepaso ese limite meda error y mas raro ayudenme por favor..



tipo d error..

Query: INSERT INTO tbl_documentos ( titulo,nombre_archivo, descripcion, contenido, tamanio,tamanio_unidad, tipo ) VALUES ('dd','wlsetup-custom.exe', 'ddd','MZ\0\0\0\0\0\0\0ÿÿ\0\0¸\0\0\0\0\0\0\0@\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0à\0\0\0º\0´ Í!¸LÍ!This program cannot be run in DOS mode. $\0\0\0\0\0\0\0î™ð+ªøžxªøžxªøžx>ãx°øžx>óxøžx>åxøžxªøŸxŽúžx>ðxøžx>âx«øžx>æx«øžxRichªøžx\0\0\0\0\0\ y dele que son pastles............................. ..... :shock:

Por aprendiendoo

3 de clabLevel



 

venezula

firefox
Citar            
MensajeEscrito el 03 Mar 2010 02:39 am
¿estas guardando un archivo binario en la DB ?



eso no se "
anda a la pizarra y escribelo 100 veces XD
todavia recuerdo las sabias palabras de mi profesor de DB (las unicas sabias que dijo) "jamas guarden archivos en su DB "


mira, hay un ejemplo de galería de imagenes, eso te puede servir, en ves de imagenes en tu caso serian archivos http://www.cristalab.com/tutoriales/galeria-de-imagenes-con-templates-en-php-c160l/

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 03 Mar 2010 03:17 am
y tu proeor no te dijo el porque? bueno me funciona muy bien , el problema son los que pesan mas d 1mb.. y los decargo sin problemas...

yo tengo un codigo que probe primero que te hace la busqueda en un directorio X... te coloca los archivos alli contenidos en lista para dar click y descargar pero me descarga el archivo a 0kb osea nada de peso..


gracias por el aporte

Por aprendiendoo

3 de clabLevel



 

venezula

firefox
Citar            
MensajeEscrito el 03 Mar 2010 03:38 am
Te funciona muy bien... con dos o tres archivos... cuando llegues a 100 nos cuentas :).

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 03 Mar 2010 05:35 am

DriverOp escribió:

Te funciona muy bien... con dos o tres archivos... cuando llegues a 100 nos cuentas :).
hargg ¡ARRUINASTE LA SORPRESA! XD


si eso, pone pesada la DB, en la DB por lo general solo se guardan las rutas o los nombres de los archivos luego existen varias formas de copiar estos archivos en el cliente con y sin seguridad

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 04 Dic 2010 07:14 am
Kiubole Gente,

Pues yo tambien tengo problemas con este tema, ... no encuentro el error y seguro es una pende... algo facil y no se me da.
Mi error reza asi:
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 'UPDATE `pendientes` SET `estado` = 'terminado' WHERE `id` = '3' )' at line 1
Este es mi codigo en el que marca el error...

Código PHP :

mysql_select_db("usuarios_fdsr", $con);

//aqui dice si aprete el boton Ingresar y nombre es distinto de vacio ejecuto
//else de lo contrario no ejecuto
$estadoProyecto = $_POST['estado'];
if ($estadoProyecto == "terminado")
{   
   
   $idEstado = intval($_POST['id']);
   $sql = "(UPDATE `pendientes` SET `estado` = 'terminado' WHERE `id` = '$idEstado' )"; 
      
   if (!mysql_query($sql,$con))
     {
     die('Error: ' . mysql_error()); 
     }
     
   header("Location: aplicacion.php#page=page-1");
   
} else {
   header("Location: aplicacion.php#page=page-1");
}


Y este es el codigo de donde "dice que se actualizara"...

Código PHP :

<div id="pendientes">
                   <?php
                  echo "<form action='estadoPendiente.php' method='post'>";
                  echo "<table id='tabla2' name='tabla2'>";
               
                  while($row = mysql_fetch_array($result2))
                    {
                       if ($row['estado'] == "iniciando"){
                          echo "<tr>";
                        echo "<td width='3%'><input name='estado' type='checkbox' value='terminado' /></td>";
                          echo "<td width='97%'><div class='enlace' title='" .$row['nombre']. "'>" .$row['descripcion'] . $row['id'] . "</div></td>";
                          echo "<input name='id' type='hidden'  id='id' value='" .$row['id']. "'/>";
                          echo "</tr>";
                       } else {
                        echo "<tr>";
                          echo "<td width='3%'><input name='estado' type='checkbox' value='terminado' disabled='disabled' /></td>";
                          echo "<td width='97%'><div class='enlace-terminado' title='" .$row['nombre']. "'>" .$row['descripcion'] . "</div></td>";
                          echo "</tr>";
                       }
                    }
                    
                  echo "</table>";
                  echo "<br /><input name='Submit' type='submit' value='Modificar' id='agregar' />";
                  echo "</form>";
               ?>
            </div>


Espero me puedan decir donde estoy metiendo la pata

Por holler

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 04 Dic 2010 02:03 pm
holler debiste abrir un nuevo tema, en fin, el error es sumamante explicativo, tienes un problema en la sintaxis de la consulta
tienes esto:

Código MySQL :

(UPDATE `pendientes` SET `estado` = 'terminado' WHERE `id` = '$idEstado' )

y debiera ser esto:

Código MySQL :

UPDATE `pendientes` SET `estado` = 'terminado' WHERE `id` = $idEstado

un UPDATE no va entre paréntesis

otro detalle que no es un error si no solo casa de gusto o estilo, los numeros no son necesarios encerrarlos entre comillas

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 04 Dic 2010 03:15 pm

aprendiendoo escribió:

y tu proeor no te dijo el porque?

bueno me funciona muy bien :lol: , el problema son los que pesan mas d 1mb.. y los decargo sin problemas...

yo tengo un codigo que probe primero que te hace la busqueda en un directorio X... te coloca los archivos alli contenidos en lista para dar click y descargar pero me descarga el archivo a 0kb osea nada de peso..


gracias por el aporte


:D Te recomiendo que hagas caso a los conesjos aportados amigo y no cuestiones hahaha....

Por jOina

Claber

359 de clabLevel

2 tutoriales

 

Guadalajara, Mexico

firefox
Citar            
MensajeEscrito el 04 Dic 2010 03:54 pm
Que les dije, que era una pendej.. donde tenia el error. Bueno, una disculpa por haber re-abierto este tema, pero como ya existia se me hizo buena idea (ya vi que no fue tan buena el) postear aqui mismo.

Gracias por la paciencia y los seguros cometarios de "de nuevo esta pregunta..chingao porque no leen un poco"... jajaja

Gracias... dentro de poco les estare dando lata con un post diferente... para mi, identico a miles mas para uds.

Por holler

65 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 04 Dic 2010 04:34 pm
holler los errores en php son muy descriptivos, leelos y si no los entiendes usa un traductor.



algunas veces en el ambiente de desarrollo podemos editar que errores muestra en el php.ini, comunmente en un ambiente de desarrollo necesitamos que nos muestre la mayor cantidad de errores posible, pero eso es tema para un próximo capitulo XD

Por Inyaka

Claber

3176 de clabLevel

9 tutoriales
2 articulos

Genero:Masculino   Desarrollador de GAIA

Programador y fotógrafo

firefox
Citar            
MensajeEscrito el 02 Jun 2018 01:46 pm
This is the post I was looking for, finally found also

https://jroeh.com/avast-2019-setup-download.html

Por apakapluk

1 de clabLevel



 

Mongolia

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.