Comment changer MySQL en MySQLi
P粉124070451
P粉124070451 2023-07-27 23:56:06
0
2
525
<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粉124070451
P粉124070451

répondre à tous(2)
P粉663883862

(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.

P粉132730839

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

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 ;-)

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal