query new ejemplos consulta conexion clase php mysqli

php - new - Error fatal: clase ''MySQLi'' no encontrada



mysqli select (15)

Además de descomentar la extensión php_mysqli.dll en php.ini , también elimine el comentario de la directiva extension_dir en php.ini y especifique su ubicación:

extension_dir = "C:/software/php/dist/ext"

Esto lo hizo funcionar para mí.

Estoy haciendo un tutorial y estoy obteniendo este error:

Error fatal: clase ''MySQLi'' no encontrada (LONG URL) en la línea 8

El código en la línea 8 es:

$mysqli = new MySQLi($db_server, $db_user, $db_pass, $db_name) or die(mysqli_error());

Vi en línea que alguien dijo para ver si estaba activado en mi phpinfo (), pero no había nada en la lista debajo para "mysqli".

Además, estoy ejecutando PHP versión 5.2.5


Algunas distribuciones (como Gentoo ) admiten varias instalaciones de PHP, y debe asegurarse de que está utilizando una con mysqli instalado y habilitado.

En Gentoo, había instalado un nuevo PHP (con el indicador mysqli USE habilitado), pero necesitaba activar la nueva versión de PHP (ya que el anterior debe haber perdido mysqli):

# eselect php list apache2 [1] php5.3 * [2] php5.5 # eselect php set apache2 2 You have to run `/etc/init.d/apache2 restart'' for the changes to take effect # /etc/init.d/apache2 restart


Cómo habilitar mysqli en php.ini

  1. Editar / descomentar eliminando '';'' (dos puntos) la siguiente configuración en php.ini: 1st (descomentar y agregar configuración): include_path = "C: / php / includes" 2nd (descomentar): extension_dir = "ext" 3rd (descomentar y editar la configuración): extension = C: /PHP/ext/php_mysql.dll extension = C: /PHP/ext/php_mysqli.dll
  2. Reinicie el servidor IIS
  3. Asegúrate de que mysql se está ejecutando en el sistema.

Cómo cargar el archivo php.ini

  1. Cambie el nombre de cualquiera de los archivos php.ini-production / php.ini-development a php.ini de C: / PHP (tenga en cuenta que la extensión será ini, es decir, "php.ini").
  2. Después de cambiarle el nombre al archivo php.ini reiniciar el servidor
  3. Ver los cambios en http://localhost/phpinfo.php

El zip de PHP incluye la mayoría de las extensiones comúnmente utilizadas (* .dll en windows como php_mysqli.dll) bajo el directorio / ext, sin embargo, no están habilitadas por defecto. Es posible que esté recibiendo este error fatal al intentar usar MySQLi:

( ! ) Fatal error: Uncaught Error: Class ''mysqli'' not found in C:/myProject/ class.Database.php on line 24

Para habilitar extensiones, abra php.ini (es posible que deba copiar primero php.ini-development como php.ini) y elimine el comentario (o agregue) estas dos líneas:

extension_dir = "ext"

Y cualquier extensión particular para la que esté obteniendo errores fatales, es decir, para mysqli:

extension=mysqli


Esto resolvió el error inicial "no encontrado" para mí. Tenga en cuenta la barra invertida, funciona como un sueño ahora. Solo es necesario cuando se usa un espacio de nombres pero ¿quién no?

$ mysqli = new / MySQLi ($ db_server, $ db_user, $ db_pass, $ db_name) o die (mysqli_error ());


Mi OS es Ubuntu . Resolví este problema usando:

sudo apt-get install php5-mysql


Parece que solo necesitas instalar MySQLi .

Si cree que lo ha hecho y todavía tiene un problema, publique su sistema operativo y cualquier otra cosa que pueda ayudar.



Pensé que podría ayudar a alguien con el mismo problema al usar servidores de Namesco. He estado tratando de solucionar este problema después de mover una base de datos desde mi servidor local en la PC hogareña a namesco. No lo ayudaron dijeron que era un problema de codificación.

  • Sin embargo, fue fácil de arreglar desde su interfaz de hosting CPANEl LINUX.
  • Haga clic en php.
  • luego haga clic en los módulos php y en su lista de módulos preinstalados simplemente haga clic en el cuadro para mysqli.
  • Luego haz clic en guardar. (No es necesario cambiar el código si funcionó en otro servidor).

Desafortunadamente, sus artículos de soporte fueron una pérdida de tiempo. Después de leer esto fui a la interfaz del administrador con una nueva determinación.

Gracias a todos.


Puede usar una clase manuscrita MYSQLi , por lo que no necesita instalar mysqli. Es la única solución si no eres dueño del servidor.


Puede verificar si las bibliotecas mysqli están presentes al ejecutar este código:

if (!function_exists(''mysqli_init'') && !extension_loaded(''mysqli'')) { echo ''We don/'t have mysqli!!!''; } else { echo ''Phew we have it!''; }


Revisé todo lo anterior y no funcionó para mí,

Hay algunos pasos que encontré.

Utilicé PHP Version 5.5.9-1ubuntu4.17 en Ubuntu 14.04

Primero revisa la carpeta

#ls /etc/php5/mods-available/ json.ini mcrypt.ini mysqli.ini mysql.ini mysqlnd.ini opcache.ini pdo.ini pdo_mysql.ini readline.ini xcache.ini

Si no contenía mysqli.ini , lea otra respuesta para instalarlo,

Abre php.ini encuentra extension_dir

En mi caso, debo establecer extension_dir = /usr/lib/php5/20121212

Y reinicie apache2: /ect/init.d/apache2 restart


Si está llamando "nuevo mysqli (..)" desde dentro de una clase con espacio de nombres, es posible que vea un error similar. Error Fatal error: Class ''foo/bar/mysqli'' not found in . La forma de solucionar esto es establecerlo explícitamente en el espacio de nombres raíz con una barra diagonal inversa anterior, como sigue:

<?php $mysqli = new /MySQLi($db_server, $db_user, $db_pass, $db_name) or die(mysqli_error());


Si estás en Ubuntu , ejecuta:

sudo apt-get install php5-mysqlnd


<?php /* If the error is due to calling mysqli in a class */ class dbconnect extends mysqli{ private $host = ''localhost''; private $user = ''root''; private $pass = ''''; private $db = ''test''; public function __construct() { parent::__construct($this->host, $this->user, $this->pass, $this->db); if (mysqli_connect_error()) { die(''Connect Error ('' . mysqli_connect_errno() . '') '' . mysqli_connect_error()); } } } ?>