recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment changer MySQL en MySQLi

<p> y($sql);更改为mysqli_query($sql) );,是这样简单吗?</p><p><strong><code></code><code></code></strong></p> <pre class="brush:php;toolbar:false;"><?PHP //dans mon fichier d'en-tête qui est inclus sur chaque page, j'ai ceci $DB["dbName"] = "e-mails"; $DB["hôte"] = "hôte local"; $DB["utilisateur"] = "racine"; $DB["pass"] = ""; $link = mysql_connect($DB['host'], $DB['user'], $DB['pass']) ou die("<center>Une erreur interne s'est produite. Veuillez signaler l'erreur suivante au webmaster .<br><br>".mysql_error()."'</center>"); mysql_select_db($DB['dbName']); // fin de la partie de connexion de l'en-tête // fonction à partir d'un fichier de fonctions dans lequel j'exécute une requête mysql dans n'importe quelle page. fonction exécuterQuery($sql) { $result = mysql_query($sql); si (mysql_error()) { $error = '<BR><center><font size="+1" face="arial" color="red">Une erreur interne s'est produite.<BR> L'erreur a été enregistrée pour révision</font></center><br>'; si ($_SESSION['auto_id'] == 1) { $sql_formatted = highlight_string(stripslashes($sql), true); $error .= '<b>La syntaxe MySQL utilisée</b><br>' . $sql_formatted . '<br><br><b>L'erreur MySQL renvoyée</b><br>' . mysql_error(); } mourir($erreur); } renvoie $résultat ; } // exemple de requête exécutée sur n'importe quelle page du site à l'aide de la fonctionexecuteQuery $sql='SELECT auto_id FROM ami_reg_user WHERE auto_id=' .$info['auto_id']; $result_member=executequery($sql); si($line_member=mysql_fetch_array($result_member)){ extraire($line_member); } autre { header("emplacement : index.php"); sortie; } ?>≪/pré> <p><br /></p>
P粉124070451P粉124070451557 Il y a quelques jours578

répondre à tous(2)je répondrai

  • P粉663883862

    P粉6638838622023-07-28 14:28:35

    (Je me rends compte que c'est une vieille question, mais elle revient encore souvent...)

    Si vous remplacez mysql_* par mysqli_*, rappelez-vous que de nombreuses fonctions mysqli_* nécessitent de passer une connexion à une base de données.

    Par exemple :


    mysql_query($query)

    est devenu :

    mysqli_query($link, $query)

    Cela dit, de nombreuses vérifications sont nécessaires.

    répondre
    0
  • P粉132730839

    P粉1327308392023-07-28 11:14:09

    Tout d'abord, vous devrez peut-être remplacer chaque appel de fonction mysql_* par sa fonction mysqli_* correspondante, au moins si vous souhaitez utiliser l'API procédurale - ce sera plus simple étant donné que vous disposez déjà d'un code basé sur la méthode API MySQL car le L'API MySQL est procédurale.

    Pour vous aider, le résumé des fonctions de l'extension MySQLi vous sera sans aucun doute très utile.

    Par exemple :


    • mysql_connect将被替换为mysqli_connect。
    • mysql_error将根据上下文被替换为mysqli_error和/或mysqli_connect_error。
    • mysql_query将被替换为mysqli_query。
    • Attendez

    REMARQUE : Pour certaines fonctions, vous devrez peut-être vérifier les paramètres : il peut y avoir de légères différences, mais je dirais pas grand-chose : mysql et mysqli sont basés sur la même bibliothèque (libmysql ; au moins pour PHP <= 5.2 ).

    Par exemple :

    • Avec mysql, vous devez utiliser mysql_select_db après la connexion pour indiquer sur quelle base de données vous souhaitez exécuter la requête
    • tandis que mysqli vous permet de spécifier le nom de la base de données comme quatrième paramètre de mysqli_connect.
    • Cependant, il existe également une fonction mysqli_select_db que vous pouvez utiliser si vous préférez.

    Après avoir terminé ces étapes, essayez d'exécuter la nouvelle version de votre script... et vérifiez si tout fonctionne sinon... il est temps de trouver le bug ;-)

    répondre
    0
  • Annulerrépondre