Foros del Web » Programando para Internet » PHP »

error en query

Estas en el tema de error en query en el foro de PHP en Foros del Web. hola a todos. Tengo un error en esta query por el uso de Código HTML: mysql_num_rows . Cómo podría optimizarla? gracias por las ugerencias Código ...
  #1 (permalink)  
Antiguo 16/08/2012, 10:35
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
error en query

hola a todos. Tengo un error en esta query por el uso de
Código HTML:
mysql_num_rows
. Cómo podría optimizarla? gracias por las ugerencias

Código PHP:
if ($handle opendir(site_root.uploaded_images_folder)) {
    while (
false !== ($file readdir($handle))) { 
        if (
$file != "." && $file != "..") {
            if (
is_dir(site_root.uploaded_images_folder.$file)) {
                if (!
mysql_num_rows(mysql_query("select 'id' from 'galleries' where 'name' = '".$file."'"))) {
                    
mysql_query("insert into 'galleries' ('name','description','order') values ('".$file."','','999')");
                    if (!
file_exists(site_root.thumbnail_images_folder.$file."/")) { mkdir(site_root.thumbnail_images_folder.$file."/"); }
                }
            }    
        }

    }

  #2 (permalink)  
Antiguo 16/08/2012, 10:41
 
Fecha de Ingreso: julio-2012
Mensajes: 276
Antigüedad: 11 años, 8 meses
Puntos: 27
Respuesta: error en query

Es mejor que utilizes mysqli es mas seguro.
  #3 (permalink)  
Antiguo 16/08/2012, 10:44
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 14 años, 7 meses
Puntos: 44
Respuesta: error en query

y si las manejas en variables????

Código PHP:
Ver original
  1. $query = mysql_query("select 'id' from 'galleries' where 'name' = '".$file."'");
  2. $num_rows = mysql_num_rows($query);
  3. .
  4. .
  5. .

y luego haces las operaciones????
__________________
Desde hace tiempo estoy esperandote... bienvenido mi pequeño Diego!!!
  #4 (permalink)  
Antiguo 16/08/2012, 10:58
 
Fecha de Ingreso: junio-2008
Mensajes: 291
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: error en query

Pues creo que va a ser lo mejor hacerlo así!!! Gracias!!

PD: probaré también con mysqli
  #5 (permalink)  
Antiguo 16/08/2012, 11:07
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 14 años, 7 meses
Puntos: 44
Respuesta: error en query

PepeF podrias explicarnos porqué es más seguro con mysqli????


saludos!!!!
__________________
Desde hace tiempo estoy esperandote... bienvenido mi pequeño Diego!!!
  #6 (permalink)  
Antiguo 16/08/2012, 11:16
 
Fecha de Ingreso: julio-2012
Mensajes: 276
Antigüedad: 11 años, 8 meses
Puntos: 27
Respuesta: error en query

Solo tienes que modificar
mysql_query por mysqli_query
mysql_connect por mysqli_connect
mysql_select_db por mysqli_select_db
mysql_fetch_array por mysqli_fetch_array

Y siempre detras de SELECT UPDATE DELETE INSERT INTO tienes que poner $conexion, o como se llama tu variable quedara asin

mysqli_query($conexion, "INSERT INTO .........");
mysqli_query($conexion, "SELECT .........");
mysqli_query($conexion, "DELETE .........");
mysqli_query($conexion, "UPDATE .........");

Es mas seguro para los ataques de inyeccion sql y mas. y encima los de mysql dicen que es preferible usar mysqli que mysql y encima mysqli es mas nuevo que mysqli. y entonces abran puesto mas seguro (¿No cres?).
  #7 (permalink)  
Antiguo 16/08/2012, 11:21
 
Fecha de Ingreso: agosto-2012
Ubicación: Santiago
Mensajes: 124
Antigüedad: 11 años, 8 meses
Puntos: 60
Respuesta: error en query

Creo que son las comillas en tu query. Estás usando ' para los campos/tablas y deberías usar `
__________________
~~Aprendiendo.
Become a Programmer, Moth*rf*cker
  #8 (permalink)  
Antiguo 16/08/2012, 11:24
 
Fecha de Ingreso: julio-2012
Mensajes: 276
Antigüedad: 11 años, 8 meses
Puntos: 27
Respuesta: error en query

Prueba esto:

Código MYSQL:
Ver original
  1. if ($handle = opendir(site_root.uploaded_images_folder)) {
  2.     while (false !== ($file = readdir($handle))) {  
  3.         if ($file != "." && $file != "..") {
  4.             if (is_dir(site_root.uploaded_images_folder.$file)) {
  5.                 if (!mysql_num_rows(mysql_query("select  id from galleries where name = '$file.'"))) {
  6.                     mysql_query("insert into 'galleries' ('name','description','order') values ('".$file."','','999')");
  7.                     if (!file_exists(site_root.thumbnail_images_folder.$file."/")) { mkdir(site_root.thumbnail_images_folder.$file."/"); }
  8.                 }
  9.             }    
  10.         }
  11.  
  12.     }
  13. }
  #9 (permalink)  
Antiguo 16/08/2012, 11:26
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 14 años, 7 meses
Puntos: 44
Respuesta: error en query

pues si es más nuevo, estás de acuerdo que también debe de estar en desarrollo todavía, hay ciertos hoyos que quizas aún no los hayan cerrado pero habrá que leer sobre mysqli para ver que cosas ofrece con respecto a mysql... y es grato encontrarte con estas cosas


saludos
__________________
Desde hace tiempo estoy esperandote... bienvenido mi pequeño Diego!!!
  #10 (permalink)  
Antiguo 16/08/2012, 11:30
 
Fecha de Ingreso: julio-2012
Mensajes: 276
Antigüedad: 11 años, 8 meses
Puntos: 27
Respuesta: error en query

en desarrollo creo que ya no esta. ya an desarrollado todo
  #11 (permalink)  
Antiguo 16/08/2012, 11:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: error en query

@p414: http://www.forosdelweb.com/f18/anunc...ecada-1008145/
  #12 (permalink)  
Antiguo 16/08/2012, 15:47
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 14 años, 7 meses
Puntos: 44
Respuesta: error en query

muchas gracias @GatorV... realmente sabía de ese cambio, pero para ser sinceros no lo esperaba tan pronto :S.... pero gracias por dar este tipo de información
__________________
Desde hace tiempo estoy esperandote... bienvenido mi pequeño Diego!!!

Etiquetas: mysql, query, sql
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 21:35.