Ver Mensaje Individual
  #5 (permalink)  
Antiguo 12/12/2011, 19:57
ccsaiKo
 
Fecha de Ingreso: agosto-2011
Mensajes: 161
Antigüedad: 12 años, 8 meses
Puntos: 7
Respuesta: mysqli->fetch

Gracias trby ! funciono perfecto..
Tengo una duda... solo si me puedes responder campeon.. :)


En este minuto tengo dos script con mysqli que tienen el mismo objetivo pero varian en lo siguiente:

uno prepara la consulta y el otro tiene un mysqli->real_escape_string.
Se supone que los dos evitan injection SQL.

pues cual es la diferencia ?...

Lo otro:
Cuando preparo una consulta me genera un codigo mas largo, pero leyendo algunos articulos, se supone que el rendimiento es mejor pues le avisamos a la database cuales son los tipos de archivos que van a entrar.
No si se alguna vez has probado mysqli_prepare y ver el rendimiento.

aqui van los script: CON MYSQL->PREPARE

Código PHP:
public function get_datos($nomkey)
    {
       
$mysqli=$this->mysqli;
       
$datos = array();
       
$sql="select * from nk where nomkey= ? ";
       
$stmt=$mysqli->prepare($sql);
       
$stmt->bind_param('s',$nomkey);
       
$stmt->execute();
       
$stmt->bind_result($campo1,$campo2,$campo3,$campo4,$campo5,$campo6);
       while(
$stmt->fetch()):
       
          
$datos[]=array($campo1,$campo2,$campo3,$campo4,$campo5,$campo6);
           
       endwhile;
     
        
        return 
$datos;
    } 
//end method 

y aqui el segundo script el cual tiene mysqli->real_escape_string

Código PHP:
$mysqli=$this->mysqli;
            
$datos=array();
            
$nomkey=$mysqli->real_escape_string($nomkey);
            
$sql="select * from nk where nomkey ='".$nomkey."'";
            
$res=$mysqli->query($sql);
            while(
$reg=$res->fetch_object()):
            
            
$datos[]=$reg;
            
            endwhile;
            
            return 
$datos;
            }
// end function */ 

Segun tengo entendido con prepare tengo mayor seguridad, pero que pasa con el rendimiento ? .. ya que se genera un codigo mas largo.

Gracias !