Maison  >  Article  >  développement back-end  >  Quels sont les moyens de se connecter à la base de données en PHP ?

Quels sont les moyens de se connecter à la base de données en PHP ?

一个新手
一个新手original
2017-09-06 15:53:3332620parcourir

Quels sont les moyens de se connecter à la base de données en PHP ?

Méthodes courantes pour se connecter à la base de données en php

1 Utilisez Mysql_connect() pour vous connecter. à la base de données

Il s'agit de la première méthode de connexion à la base de données que nous avons rencontrée lorsque nous avons commencé à apprendre PHP. Le résultat de la connexion peut être renvoyé via la fonction mysql_connect(), et un ID de connexion MySQL est. renvoyé En cas d'échec, FALSE est renvoyé. , afin que les opérations ultérieures puissent être effectuées.

Exemple de code

<?php
  $con=mysql_connect("localhost" ,"root","password")
  if($con){
    mysql_select_db("db_name",$con);
    $sql="select * from table_name where id=1";
    $result=mysql_query($sql);
    while($row=mysql_fetch_row($result)){
        echo  "$row";
    }
  }else{
    die("无法连接数据库".mysql_error());
  }
  mysql_close($con);
?>

Remarque

Cette méthode de connexion est une connexion courte, pas une connexion longue si la connexion est longue. , utilisez mysql_pconnectct ()

Description :

L'extension MySQL 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'il est trop ancien et dangereux, il a été complètement remplacé par le dernier mysqli

2 Utiliser Mysqli

Il s'agit d'une méthode de connexion à une base de données orientée objet. Avant de vous connecter, vous devez instancier un objet, puis effectuer des opérations de base de données via cet objet

Exemple de code

<?php
    $con=new mysqli("localhost","root","password","db_name");
    if(!mysqli_connect_error()){
    $sql="select * from table_name where id=1";
    $result=$con->query($sql);
    while($row=$result->fetch_row($result)){
        echo  "$row";
    }
  }else{
    die("无法连接数据库".mysql_error());
  }

mysqli est une méthode de connexion longue et est plus sécurisée que mysql_connect

Description :

L'extension mysqli, que nous appelons parfois l'extension d'amélioration MySQL, peut être utilisée pour utiliser les nouvelles fonctionnalités avancées de MySQL 4.1.3 ou des versions plus récentes.

Ses fonctionnalités sont : une interface orientée objet, la prise en charge des instructions préparées, la prise en charge de l'exécution de plusieurs instructions, la prise en charge des transactions, des capacités de débogage améliorées, la prise en charge des services intégrés et des 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.

3. Utiliser PDO

pdo est une méthode ajoutée par le centre php5 pour se connecter à la base de données

Exemple de code

<?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;//关闭连接
?>

Remarque :

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 l'utiliser à tout moment. serveurs de bases de données, comme d'Oracle à MySQL, avec seulement une petite quantité de modifications du code PHP.

Ses fonctions sont similaires aux 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).

Pour plus de connaissances connexes, veuillez visiter le 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:
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