IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Erreur lors d'un appel à mysqli() ou new mysqli() [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre très actif

    Homme Profil pro
    Hobbyiste
    Inscrit en
    Juillet 2018
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Hobbyiste

    Informations forums :
    Inscription : Juillet 2018
    Messages : 128
    Billets dans le blog
    1
    Par défaut Erreur lors d'un appel à mysqli() ou new mysqli()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Error
     
    Class 'mysqli' not found
    Bonjour,
    Voilà j'ai des soucis avec php 7.2 et la dernière version de MySQL et Apache 2.4.

    Les extensions ont été activées aussi bien du côté d'Apache que de PHP.

    La connexion se passe bien dans le Workbench MySQl

    Que faire?

  2. #2
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Que faire ?

    Poster le code. Non ?

  3. #3
    Membre très actif

    Homme Profil pro
    Hobbyiste
    Inscrit en
    Juillet 2018
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Hobbyiste

    Informations forums :
    Inscription : Juillet 2018
    Messages : 128
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par badaze Voir le message
    Que faire ?

    Poster le code. Non ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    function connect() {
        global $mysqli;
        $config = new Config();
        global $date;
        if ($date == "") {
            $date = date("Y-m-d-H-i-s");
        }
        $hostname = trim($config->hostname);
        $username = trim($config->username);
        $password = trim($config->password);
        $dbname = trim($config->name);
     
     
        //conection:
        $mysqli = new mysqli
        (
                        $hostname, $username, $password, $dbname
        ) or die("Error " . mysqli_error($mysqli));
     
        if ($mysqli->connect_error) {
            die('Erreur de connexion (' . $mysqli->connect_errno . ') '
                . $mysqli->connect_error);
        }
     
     
        echo 'Successs... ' . $mysqli->host_info . "\n";
    }
    C'est dans un code de Laravel 5.7. Avant ça fonctionnait très bien des anciennes fonctions mises dans le Framework.

  4. #4
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Chez moi ton code fonctionne bien.

    Essaie de faire un phpinfo(); et cherche mysqli. Regarde si c'est enabled ou disabled.

    Pour obtenir le même message que toi, il a fallu que j'aille "commenter" la ligne qui charge mysqli dans php.ini => ;extension=php_mysqli.dll (il a fallu que je redémarre apache pour que ça prenne effet)

    Fatal error: Uncaught Error: Class 'mysqli' not found in C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\tests\test9513.php:26 Stack trace: #0 C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\tests\test9513.php(40): connect() #1 {main} thrown in C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\tests\test9513.php on line 26
    Quand j'ai enlevé le "commentaire" dans php.ini et redémarré apache ça s'est remis à fonctionner.

  5. #5
    Membre très actif

    Homme Profil pro
    Hobbyiste
    Inscrit en
    Juillet 2018
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Hobbyiste

    Informations forums :
    Inscription : Juillet 2018
    Messages : 128
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par badaze Voir le message
    Chez moi ton code fonctionne bien.

    Essaie de faire un phpinfo(); et cherche mysqli. Regarde si c'est enabled ou disabled.

    Pour obtenir le même message que toi, il a fallu que j'aille "commenter" la ligne qui charge mysqli dans php.ini => ;extension=php_mysqli.dll (il a fallu que je redémarre apache pour que ça prenne effet)



    Quand j'ai enlevé le "commentaire" dans php.ini et redémarré apache ça s'est remis à fonctionner.
    La ligne est bien décommentée. Le module n'est pas chargé. Seul le module mysqlnd est chargé.

    Que peut-il y avoir d'autre à faire?

  6. #6
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Il manque peut-être la dll.

  7. #7
    Membre très actif

    Homme Profil pro
    Hobbyiste
    Inscrit en
    Juillet 2018
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Hobbyiste

    Informations forums :
    Inscription : Juillet 2018
    Messages : 128
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par badaze Voir le message
    Il manque peut-être la dll.
    Non elle est là dans c:\php\ext\php_mysqli.dll

  8. #8
    Membre très actif

    Homme Profil pro
    Hobbyiste
    Inscrit en
    Juillet 2018
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Hobbyiste

    Informations forums :
    Inscription : Juillet 2018
    Messages : 128
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par badaze Voir le message
    Il manque peut-être la dll.
    Dois-je mettre un path quelque part ? Je n'utilise pas EasyPHP ou Wamp parce qu'ils ne fonctionne pas correctement. J'ai installé les 3 applications séparément à partir des binaires fournis.

  9. #9
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 502
    Par défaut
    Bonjour, vous dite un projet Laravel 5.7 ????
    Donc on parle de la classe mysqli de Laravel ?

    Avez-vous fais un simple composer install ou update, pour être sur d'avoir l'ensemble des packages Laravel ?

  10. #10
    Membre très actif

    Homme Profil pro
    Hobbyiste
    Inscrit en
    Juillet 2018
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Hobbyiste

    Informations forums :
    Inscription : Juillet 2018
    Messages : 128
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par MaitrePylos Voir le message
    Bonjour, vous dite un projet Laravel 5.7 ????
    Donc on parle de la classe mysqli de Laravel ?
    Non je parle bien de la classe de PHP avec la dll. Elle n'est pas chargée je ne sais pas pourquoi.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    extension=php_bz2.dll
    extension=php_curl.dll
    extension=php_fileinfo.dll
    extension=php_ftp.dll
    extension=php_gd2.dll
    extension=php_gettext.dll
    extension=php_gmp.dll
    extension=php_intl.dll
    extension=php_imap.dll
    ;extension=php_interbase.dll
    extension=php_ldap.dll
    extension=php_mbstring.dll
    extension=php_exif.dll
    ;extension=php_oci8_12c.dll
    ;extension=php_odbc.dll
    extension=php_openssl.dll
    ;extension=php_pdo_firebird.dll
    extension=php_mysqli.dll
    extension=php_pdo_mysql.dll
    ;extension=php_pdo_oci.dll
    extension=php_pdo_odbc.dll
    ;extension=php_pdo_pgsql.dll
    ;extension=php_pdo_sqlite.dll
    ;extension=php_pgsql.dll
    ;extension=php_shmop.dll

  11. #11
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 502
    Par défaut
    Bonjour,
    Pouvez-vous créer un fichier test avec la fonction suivante

    et nous donner le retour de la partie MySQL

  12. #12
    Membre très actif

    Homme Profil pro
    Hobbyiste
    Inscrit en
    Juillet 2018
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Hobbyiste

    Informations forums :
    Inscription : Juillet 2018
    Messages : 128
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par MaitrePylos Voir le message
    Bonjour,
    Pouvez-vous créer un fichier test avec la fonction suivante

    et nous donner le retour de la partie MySQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Loaded Modules 	core mod_win32 mpm_winnt http_core mod_so mod_access_compat mod_actions mod_alias mod_allowmethods mod_asis mod_auth_basic mod_auth_digest mod_auth_form mod_authn_anon mod_authn_core mod_authn_dbd mod_authn_dbm mod_authn_file mod_authn_socache mod_authnz_fcgi mod_authnz_ldap mod_authz_core mod_authz_dbd mod_authz_dbm mod_authz_groupfile mod_authz_host mod_authz_owner mod_authz_user mod_autoindex mod_buffer mod_cache mod_cache_disk mod_cache_socache mod_cern_meta mod_cgi mod_charset_lite mod_data mod_dav mod_dav_fs mod_dav_lock mod_dbd mod_deflate mod_dir mod_dumpio mod_env mod_expires mod_ext_filter mod_file_cache mod_filter mod_headers mod_heartbeat mod_heartmonitor mod_http2 mod_ident mod_imagemap mod_include mod_info mod_isapi mod_lbmethod_bybusyness mod_lbmethod_byrequests mod_lbmethod_bytraffic mod_lbmethod_heartbeat util_ldap mod_logio mod_log_config mod_log_debug mod_log_forensic mod_lua mod_macro mod_md mod_mime mod_mime_magic mod_negotiation mod_proxy mod_proxy_ajp mod_proxy_balancer mod_proxy_connect mod_proxy_express mod_proxy_fcgi mod_proxy_ftp mod_proxy_html mod_proxy_http mod_proxy_http2 mod_proxy_scgi mod_proxy_uwsgi mod_proxy_wstunnel mod_ratelimit mod_reflector mod_remoteip mod_request mod_reqtimeout mod_rewrite mod_sed mod_session mod_session_cookie mod_session_crypto mod_session_dbd mod_setenvif mod_slotmem_plain mod_slotmem_shm mod_socache_dbm mod_socache_memcache mod_socache_shmcb mod_speling mod_ssl mod_status mod_substitute mod_unique_id mod_userdir mod_usertrack mod_version mod_vhost_alias mod_watchdog mod_xml2enc mod_php7
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    mysqlnd
    mysqlnd	enabled
    Version 	mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $
    Compression 	supported
    core SSL 	supported
    extended SSL 	not supported
    Command buffer size 	4096
    Read buffer size 	32768
    Read timeout 	86400
    Collecting statistics 	Yes
    Collecting memory statistics 	No
    Tracing 	n/a
    Loaded plugins 	mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password
    API Extensions 	no value

  13. #13
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 502
    Par défaut
    Ok, dans la fonction phpinfo(), il vous donne le bon fichier php.ini à modifier , êtes sur donc de modifier le bon fichier.
    Avez vous relancer Apache après avoir fais les modifications ?

  14. #14
    Membre très actif

    Homme Profil pro
    Hobbyiste
    Inscrit en
    Juillet 2018
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Hobbyiste

    Informations forums :
    Inscription : Juillet 2018
    Messages : 128
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par MaitrePylos Voir le message
    Ok, dans la fonction phpinfo(), il vous donne le bon fichier php.ini à modifier , êtes sur donc de modifier le bon fichier.
    Avez vous relancer Apache après avoir fais les modifications ?
    Voilà donc là j'ai rajouté "c:\php" au PATH système puis redémarré ma machine.

    J'ai une nouvelle erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ErrorException
     
    mysqli::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]
    J'ai suivi des pistes sur le Net mais je n'ai rien trouvé.

  15. #15
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 502
    Par défaut
    Avez-vous suivi la deuxième solution de ce post : https://stackoverflow.com/questions/...aching-sha2-pa

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur lors de l'appel d'une page executée avec AJAX
    Par jt-tronix dans le forum Langage
    Réponses: 3
    Dernier message: 08/11/2006, 17h56
  2. Erreur lors de l'appel de StringVar()
    Par vinzzzz dans le forum Tkinter
    Réponses: 2
    Dernier message: 29/10/2006, 15h13
  3. [FOP] Erreur lors de l'appel new Driver();
    Par Dithy dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 15/09/2006, 00h26
  4. Erreur lors de l'appel d'une DLL créée avec Visual
    Par WELCOMSMAIL dans le forum C++Builder
    Réponses: 6
    Dernier message: 06/09/2006, 15h53
  5. Erreur lors de l'appel d'un page ASP
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 27/08/2004, 15h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo