Hola, desde hace varios años trabajo con el software xampp por su comodidad al instalar y usar mysql y php en mis proyectos web. Recientemente lei sobre la extensión "mysqli" de mysql y de su capacidad para trabajar en un modelo orientado a objetos, de hecho la conexión a mi BD y todas las consultas de mi proyecto las hago utilizando mysqli en un clase que se encarga de la conexión, ejecutar las consultas y devolver los resultados. Ahora bien, la versión 1.7.7 de xampp para windows me funciona perfectamente pero al instalar la versión 1.8.0 o la versión 1.8.1 mis consultas se ejecutan lentamente tanto así que alcanzan el tiempo máximo de ejecución deteniendo el script. He notado que cuando no utiliza mysqli en mis consultas sino el mysql normal las consultas se ejecutan normalmente. Ahora no se si estas nuevas versiones tengan algún problema ejecutando mysqli o la clase que uso para la conexión la implemento erroneamente, repito en la versión 1.7.7 no me causa ningún problema. Aclaro que toda esta situación se da en mi laptop en un entorno de desarrollo ya que en el servidor donde tengo alojado mi proyecto web no hay ningún problema y utilizo el mismo script. ¿Alguien ha tenido el mismo problema? ¿Hay que configurar algún parámetro en las nuevas versiones de XAMPP para trabajar con mysqli? ¿O sera mi clase que esta escrita erroneamente y cause el conflicto?
Mi laptop tiene windows 7 Home Basic en 64 bits
Este es el script que utilizo para la conexion y las consultas...
Código PHP:
abstract class conexion
{
private static $db_host = 'localhost';
private static $db_user = 'usuario';
private static $db_pass = 'password';
protected $db_name = 'nombreBD';
private $con;
private function abrirConexion(){
$this->con = mysqli_connect(self::$db_host,self::$db_user,self::$db_pass,$this->db_name) or die("Error al conectarse a la base de datos");
}
protected function _error(){
return "Error :".mysqli_error($this->con);
}
protected function _query($query){
$this->abrirConexion();
$sql=mysqli_query($this->con,$query) or die($this->_error());
return $sql;
}
protected function _data($query){
$reg=mysqli_fetch_array($query);
return $reg;
}
protected function _num($query){
$num=mysqli_num_rows($query);
return $num;
}
protected function _beginwork(){
$this->abrirConexion();
mysqli_autocommit($this->con, FALSE);
}
protected function _commit(){
$this->abrirConexion();
mysqli_commit($this->con);
}
protected function _rollback(){
$this->abrirConexion();
mysqli_rollback($this->con);
}
}
De antemano agradezco su tiempo y sus respuestas a este detalle...