recherche
Maisondéveloppement back-endtutoriel phpUne brève discussion sur trois façons de connecter PHP à la base de données MySQL

Cet article vous présentera les trois méthodes de connexion de PHP à la base de données MySQL (mysql, mysqli, pdo), et analysera les compétences opérationnelles et les précautions associées de PHP en fonction des trois méthodes de connexion à la base de données MySQL basées sur mysql, mysqli et pdo sous forme d'exemples sont importants. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Une brève discussion sur trois façons de connecter PHP à la base de données MySQL

Il existe trois interfaces API pour la connexion entre PHP et MySQL, à savoir : l'extension MySQL de PHP, l'extension mysqli de PHP et PHP Data Object (PDO). les trois ci-dessus Résumons les méthodes de connexion pour préparer le choix de la meilleure solution dans différents scénarios.

L'extension MySQL pour PHP est une des premières extensions conçue et développée pour permettre aux applications PHP d'interagir avec la base de données MySQL. L'extension MySQL fournit une interface orientée procédure et est conçue pour MySQL 4.1.3 ou version antérieure. Par conséquent, bien que cette extension puisse interagir avec les serveurs de base de données MySQL 4.1.3 ou plus récents, elle ne prend pas en charge certaines fonctionnalités fournies par les serveurs MySQL ultérieurs. Parce qu'elle est trop ancienne et dangereuse, elle a été complètement remplacée par la version ultérieure de mysqli

L'extension mysqli de PHP, que nous appelons parfois l'extension améliorée de MySQL, peut être utilisée pour utiliser le nouveau MySQL 4.1.3 ou une version plus récente. fonctionnalités avancées. Ses fonctionnalités sont les suivantes : interface orientée objet, prise en charge des instructions préparées, prise en charge de l'exécution de plusieurs instructions, prise en charge des transactions, capacités de débogage améliorées, prise en charge des services intégrés et méthodes de prétraitement qui résolvent complètement le problème de l'injection SQL. Cependant, il présente également un inconvénient, c'est-à-dire qu'il ne prend en charge que la base de données MySQL. Si vous n'exploitez pas d'autres bases de données, c'est sans aucun doute le meilleur choix.

PDO est l'abréviation de PHP Data Objects et est une spécification de couche d'abstraction de base de données dans les applications PHP. PDO fournit une interface API unifiée qui permet à votre application PHP de ne pas se soucier du type de système de serveur de base de données spécifique à connecter. En d'autres termes, si vous utilisez l'API de PDO, vous pouvez changer de serveur de base de données de manière transparente chaque fois que nécessaire, par exemple d'Oracle à MySQL. , seule une petite quantité de code PHP doit être modifiée. Ses fonctions sont similaires à des interfaces telles que JDBC, ODBC et DBI. De même, il résout également le problème de l’injection SQL et offre une bonne sécurité. Cependant, cela présente également des inconvénients. Certaines requêtes d'exécution multi-instructions ne sont pas prises en charge (mais cette situation est rare).

L'article officiel fait également une comparaison de liste entre les trois :

  PHP的mysqli扩展 PDO PHP的mysql扩展
引入的PHP版本 5.0 5.0 3.0之前
PHP5.x是否包含 是  
MySQL开发状态 活跃 在PHP5.3中活跃 仅维护
在MySQL新项目中的建议使用程度 建议 - 首选 建议 不建议
API的字符集支持
服务端prepare语句的支持情况
客户端prepare语句的支持情况
存储过程支持情况
多语句执行支持情况 大多数
是否支持所有MySQL4.1以上功能 大多数

D'après les résultats officiels, msqli est recommandé en premier, suivi de PDO. De nombreux résultats donnés par « folk » ont tendance à utiliser le PDO, car il n'a pas les avantages des bases de données croisées et présente les caractéristiques d'une vitesse de lecture et d'écriture rapide.

1. Extension PHP et Mysql (Cette extension a été abandonnée depuis PHP 5.5.0 et sera supprimée à l'avenir. La manière native de PHP de se connecter à la base de données est orientée processus). .

<?php
$mysql_conf = array(
  &#39;host&#39;  => &#39;127.0.0.1:3306&#39;, 
  &#39;db&#39;   => &#39;test&#39;, 
  &#39;db_user&#39; => &#39;root&#39;, 
  &#39;db_pwd&#39; => &#39;root&#39;, 
  );
$mysql_conn = @mysql_connect($mysql_conf[&#39;host&#39;], $mysql_conf[&#39;db_user&#39;], $mysql_conf[&#39;db_pwd&#39;]);
if (!$mysql_conn) {
  die("could not connect to the database:\n" . mysql_error());//诊断连接错误
}
mysql_query("set names &#39;utf8&#39;");//编码转化
$select_db = mysql_select_db($mysql_conf[&#39;db&#39;]);
if (!$select_db) {
  die("could not connect to the db:\n" . mysql_error());
}
$sql = "select * from user;";
$res = mysql_query($sql);
if (!$res) {
  die("could get the res:\n" . mysql_error());
}
while ($row = mysql_fetch_assoc($res)) {
  print_r($row);
}
mysql_close($mysql_conn);
?>

2. Extensions PHP et Mysqli, orientées processus et orientées objet

<?php
$mysql_conf = array(
  &#39;host&#39;  => &#39;127.0.0.1:3306&#39;, 
  &#39;db&#39;   => &#39;test&#39;, 
  &#39;db_user&#39; => &#39;root&#39;, 
  &#39;db_pwd&#39; => &#39;joshua317&#39;, 
  );
$mysqli = @new mysqli($mysql_conf[&#39;host&#39;], $mysql_conf[&#39;db_user&#39;], $mysql_conf[&#39;db_pwd&#39;]);
if ($mysqli->connect_errno) {
  die("could not connect to the database:\n" . $mysqli->connect_error);//诊断连接错误
}
$mysqli->query("set names &#39;utf8&#39;;");//编码转化
$select_db = $mysqli->select_db($mysql_conf[&#39;db&#39;]);
if (!$select_db) {
  die("could not connect to the db:\n" . $mysqli->error);
}$sql = "select uid from user where name = &#39;joshua&#39;;";
$res = $mysqli->query($sql);
if (!$res) {
  die("sql error:\n" . $mysqli->error);
}
 while ($row = $res->fetch_assoc()) {
    var_dump($row);
  }
$res->free();
$mysqli->close();
?>

3. Extensions PHP et PDO, orientées processus et objet. -orienté

<?php
$mysql_conf = array(
  &#39;host&#39;  => &#39;127.0.0.1:3306&#39;, 
  &#39;db&#39;   => &#39;test&#39;, 
  &#39;db_user&#39; => &#39;root&#39;, 
  &#39;db_pwd&#39; => &#39;joshua317&#39;, 
  );
$pdo = new PDO("mysql:host=" . $mysql_conf[&#39;host&#39;] . ";dbname=" . $mysql_conf[&#39;db&#39;], $mysql_conf[&#39;db_user&#39;], $mysql_conf[&#39;db_pwd&#39;]);//创建一个pdo对象
$pdo->exec("set names &#39;utf8&#39;");
$sql = "select * from user where name = ?";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(1, &#39;joshua&#39;, PDO::PARAM_STR);
$rs = $stmt->execute();
if ($rs) {
  // PDO::FETCH_ASSOC 关联数组形式
  // PDO::FETCH_NUM 数字索引数组形式
  while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    var_dump($row);
  }
}
$pdo = null;//关闭连接
?>

Pour plus de connaissances connexes, veuillez faire attention au Site Web PHP chinois ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Comment modifiez-vous les données stockées dans une session PHP?Comment modifiez-vous les données stockées dans une session PHP?Apr 27, 2025 am 12:23 AM

TomodifyDatainaphPSession, startTheSessionwithSession_start (), puis utilisez $ _sessiontoset, modifiez, orremovevariables.1) startTheSession.2) setorModifySessionVariblesusing $ _Session.3) retireVariableswithunset (). 4) ClearAllVariblesWithSession_unset (). 5).

Donnez un exemple de stockage d'un tableau dans une session PHP.Donnez un exemple de stockage d'un tableau dans une session PHP.Apr 27, 2025 am 12:20 AM

Les tableaux peuvent être stockés en séances PHP. 1. Démarrez la session et utilisez session_start (). 2. Créez un tableau et stockez-le en $ _SESSION. 3. Récupérez le tableau via $ _SESSION. 4. Optimiser les données de session pour améliorer les performances.

Comment fonctionne la collecte des ordures pour les séances PHP?Comment fonctionne la collecte des ordures pour les séances PHP?Apr 27, 2025 am 12:19 AM

La collecte de déchets de session PHP est déclenchée par un mécanisme de probabilité pour nettoyer les données de session expirées. 1) définir le cycle de vie de probabilité de déclenchement et de session dans le fichier de configuration; 2) Vous pouvez utiliser des tâches CRON pour optimiser les applications de haute charge; 3) Vous devez équilibrer la fréquence et les performances de collecte des ordures pour éviter la perte de données.

Comment pouvez-vous tracer l'activité de session en php?Comment pouvez-vous tracer l'activité de session en php?Apr 27, 2025 am 12:10 AM

Le suivi des activités de session utilisateur dans PHP est implémenté par la gestion de session. 1) Utilisez session_start () pour démarrer la session. 2) Stocker et accéder aux données via le tableau $ _SESSION. 3) Appelez session_destroy () pour mettre fin à la session. Le suivi des sessions est utilisé pour l'analyse du comportement des utilisateurs, la surveillance de la sécurité et l'optimisation des performances.

Comment pouvez-vous utiliser une base de données pour stocker les données de session PHP?Comment pouvez-vous utiliser une base de données pour stocker les données de session PHP?Apr 27, 2025 am 12:02 AM

L'utilisation de bases de données pour stocker les données de session PHP peut améliorer les performances et l'évolutivité. 1) Configurez MySQL pour stocker les données de session: configurez le processeur de session dans PHP.ini ou PHP Code. 2) Implémentez le processeur de session personnalisé: Définissez Open, Fermer, Lire, Écrire et d'autres fonctions pour interagir avec la base de données. 3) Optimisation et meilleures pratiques: utilisez l'indexation, la mise en cache, la compression des données et le stockage distribué pour améliorer les performances.

Expliquez le concept d'une session PHP en termes simples.Expliquez le concept d'une session PHP en termes simples.Apr 26, 2025 am 12:09 AM

PhpSessionsStrackUserDataacrossMultiplepageRequestSusingauniqueIdStoredInacookie.Here'showtomanageThememeChectively: 1) startAsessionwithSession_start () etstoredatain $ _session.2) RegenerateTheSessionidaFterloginWithSession_Regenereate_id (true) TopReventiSi

Comment parcourez-vous toutes les valeurs stockées dans une session PHP?Comment parcourez-vous toutes les valeurs stockées dans une session PHP?Apr 26, 2025 am 12:06 AM

En PHP, l'itération des données de session peut être obtenue via les étapes suivantes: 1. Démarrez la session à l'aide de session_start (). 2. Ilaster à travers la boucle FOREACH à travers toutes les paires de valeurs clés dans le tableau $ _SESSION. 3. Lors du traitement des structures de données complexes, utilisez des fonctions is_array () ou is_object () et utilisez print_r () pour produire des informations détaillées. 4. Lors de l'optimisation de la traversée, la pagination peut être utilisée pour éviter de traiter de grandes quantités de données en même temps. Cela vous aidera à gérer et à utiliser les données de session PHP plus efficacement dans votre projet réel.

Expliquez comment utiliser les sessions pour l'authentification des utilisateurs.Expliquez comment utiliser les sessions pour l'authentification des utilisateurs.Apr 26, 2025 am 12:04 AM

La session réalise l'authentification des utilisateurs via le mécanisme de gestion de l'état côté serveur. 1) Création de session et génération d'ID unique, 2) Les ID sont passés par des cookies, 3) les magasins de serveurs et accèdent aux données de session via IDS, 4) l'authentification des utilisateurs et la gestion de l'état sont réalisées, améliorant la sécurité des applications et l'expérience utilisateur.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.