Maison > développement back-end > tutoriel php > Exemple de code simple pour l'opération PDO en php

Exemple de code simple pour l'opération PDO en php

怪我咯
Libérer: 2023-03-13 18:56:02
original
1226 Les gens l'ont consulté

L'extension

PHP DataObject (PDO) définit une interface légère et cohérente permettant à PHP d'accéder aux bases de données.

PDO fournit une couche d'abstraction d'accès aux données, ce qui signifie que quelle que soit la base de données utilisée, les mêmes fonctions (méthodes) peuvent être utilisées pour interroger et obtenir des données.

PDO est publié avec PHP5.1 et peut également être utilisé dans l'extension PECL de PHP5.0. Il ne peut pas fonctionner sur les versions PHP précédentes.

Cet article présente principalement le fonctionnement PDO de PHP. Il analyse la connexion simple, l'initialisation et la requête, l'insertion et d'autres techniques de fonctionnement du fonctionnement PDO de PHP sous la forme d'exemples simples. référez-vous-y. Ensuite, Ici, j'encapsule toutes les opérations de PDO dans une classe pour une utilisation facile. Le code de la classe

est le suivant :

class DB {
  //pdo对象
  public $con = NULL;
  function DB()
  {
    $this->con = new PDO("mysql:host=127.0.0.1;dbname=dbtest", "root", "xxx", array(
      PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES `utf8`',
      PDO::ATTR_PERSISTENT => TRUE,
    ));
    $this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $this->con->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
  }
  public function query($sql, $para = NULL)
  {
    $sqlType = strtoupper(substr($sql, 0, 6));
    $cmd = $this->con->prepare($sql);
    if($para != NULL)
    {
      $cmd->execute($para);
    }
    else
    {
      $cmd->execute();
    }
    if($sqlType == "SELECT")
    {
      return $cmd->fetchAll(); 
    }
    if($sqlType == "INSERT")
    {
      return $this->con->lastInsertId();
    }
    return $cmd->rowCount();
  }
}
Copier après la connexion

Utilisation :

include "pdo.php";
$db = new DB();
$subjectList = $db->query("SELECT * FROM `table1`");
$count = $db->query("UPDATE `table1` SET `name` = 'test' WHERE `id` = :id", array(':id' => 795));
try
{
  echo $db->con->beginTransaction();
  $count = $db->con->exec("UPDATE `table1` SET `name` = 'test1' WHERE `id` = 795");
  $count = $db->con->exec("UPDATE `table1` SET `name1` = 'test22' WHERE `id` = 795");
  $count = $db->con->exec("UPDATE `table1` SET `name1` = 'test333' WHERE `id` = 795");
  echo $db->con->commit();
}
catch (Exception $e)
{
  // MYSQL 的表类型 InnoDB(支持事务) MyISAM(不支持事务)
  echo $db->con->rollBack();
  throw new MyException("事务测试错误", $e);
}
$db = NULL;
Copier après la connexion

PDO prend en charge les instructions SQL à appeler en tant que paramètres, qui peut empêcher efficacement l'injection SQL.

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