Position actuelle: Accueil> Derniers articles> Méthode pour résoudre l'erreur mortelle PHP: appel à la fonction non définie MySQL_Query ()

Méthode pour résoudre l'erreur mortelle PHP: appel à la fonction non définie MySQL_Query ()

M66 2025-10-01

Comment résoudre l'erreur fatale PHP: appel à la fonction non définie mysql_query ()

Lorsque vous utilisez PHP pour le développement de sites Web, les développeurs rencontrent souvent des erreurs courantes. Parmi eux, PHP Erreur fatale: appel à la fonction non définie MySQL_Query () est relativement typique. Cette erreur est généralement causée par ne pas utiliser correctement la fonction d'extension de la base de données.

Causes de l'erreur

En commençant par PHP 5.5, la série de fonctions MySQL_ * a été obsolète et a été complètement supprimée dans PHP 7. Par conséquent, si le code du projet utilise toujours une ancienne fonction comme MySQL_Query () , l'erreur ci-dessus sera causée.

Pour résoudre ce problème, vous devez plutôt utiliser la bibliothèque d'extension MySQLI ou PDO officiellement recommandée.

Solutions utilisant une extension MySQLI

<?php
$conn = new mysqli('localhost', 'username', 'password', 'database');
if ($conn->connect_error) {
    Die (&#39;Connect n&#39;a pas réussi à se connecter à la base de données:&#39;. $ Conn-> connect_error);
}

$ sql = &#39;select * dans les utilisateurs&#39;;
$ result = $ Conn-> Query ($ SQL);

if ($ result-> num_rows> 0) {
    while ($ row = $ result-> fetch_assoc ()) {
        écho &#39;nom d&#39;utilisateur:&#39;. $ row [«nom d&#39;utilisateur»]. &#39;, E-mail:&#39; . $ row [&#39;e-mail&#39;]. &#39;<br> &#39;;;
    }
} autre {
    écho «aucun utilisateur trouvé»;
}

$ Conn-> close ();
?>

Ce code montre comment utiliser MySQLI pour établir une connexion, exécuter une requête et sortir les résultats. Si la connexion échoue, un message rapide sera renvoyé.

Solutions utilisant une extension APD

<?php
$dsn = 'mysql:host=localhost;dbname=database';
$username = 'username';
$password = 'password';

try {
    $conn = new PDO($dsn, $username, $password);
    $conn-> setAttribute (PDO :: att_errMode, PDO :: errMode_Exception);

    $ sql = &#39;select * dans les utilisateurs&#39;;
    $ stmt = $ con-> query ($ sql);

    while ($ row = $ stmt-> fetch (pdo :: fetch_assoc)) {
        écho &#39;nom d&#39;utilisateur:&#39;. $ row [«nom d&#39;utilisateur»]. &#39;, E-mail:&#39; . $ row [&#39;e-mail&#39;]. &#39;<br> &#39;;;
    }
} catch (pDoException $ e) {
    Echo &#39;n&#39;a pas réussi à se connecter à la base de données:&#39;. $ e-> getMessage ();
    sortie;
}

$ conn = null;
?>

L'utilisation de l'APD peut non seulement gérer MySQL, mais prend également en charge plusieurs bases de données, ce qui est plus évolutif et plus pratique pour gérer les erreurs grâce à des mécanismes d'exception.

Résumer

Lors de la rencontre d'une erreur mortelle PHP: appelez une erreur de fonction non définie MySQL_Query () , le problème est généralement parce que l'ancienne extension MySQL n'est plus prise en charge dans la version PHP. La solution consiste à migrer le code vers MySQLI ou PDO , ce qui évite non seulement les rapports d'erreurs, mais bénéficie également de fonctions plus puissantes et d'une meilleure sécurité.

Si votre projet utilise toujours l'ancienne fonction MySQL_ * , il est recommandé de mettre à jour la nouvelle extension dès que possible pour assurer la compatibilité et la maintenabilité.