Comment connecter php à mysql5.0 ?

藏色散人
Libérer: 2023-04-06 15:20:02
original
2264 Les gens l'ont consulté

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). Ce qui suit est un résumé des trois méthodes de connexion ci-dessus pour préparer différents scénarios. . Choisissez la meilleure solution.

Comment connecter php à mysql5.0 ?

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 les bases 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 : 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).

1.Extension PHP et Mysql (cette extension est obsolète 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);
?>
Copier après la connexion
< 🎜). >2.Extension PHP et Mysqli, orienté processus et orienté 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();
?>
Copier après la connexion

3.Extension PHP et PDO, orientée processus et orienté 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;, 
    );
$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;//关闭连接
?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!