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 !