Maison  >  Article  >  développement back-end  >  Méthode PDO d'exploitation de la base de données MySQL en php

Méthode PDO d'exploitation de la base de données MySQL en php

不言
不言original
2018-06-06 09:34:481465parcourir

Cet article présente principalement la méthode PDO d'exploitation de la base de données MySQL avec PHP. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Utilisation de base

1) Connectez-vous à la base de données

$pdo = new PDO(“mysql:host=localhost; dbname=db_name”,username,password);
2) Exécutez l'instruction SQL

$pdo -> query()    针对返回有结果的操作    适用于SELECT

$pdo -> exec()     针对没有返回结果的操作  适用于增删改
3) Obtenez l'ensemble de résultats (opération de requête exclusive)

Le

$stmt -> fetch($mode)      获取一条数据

$stmt -> fetchAll($mode)   获取所有数据
mode peut sélectionner PDO::FETCH_ASSOC, et le résultat devient un

tableau associatif.

Instance

<?php

// PDO操作数据库例子(查询)

header("content-type:text/html;charset=utf-8");

// 连接数据库
$dsn = "mysql:host=localhost; dbname=test";

$pdo = new PDO($dsn,&#39;root&#39;,&#39;123456789&#39;);


/*********** 执行SQL语句  *************/

// 设置字符集
$pdo -> exec("set names utf8");

$sql = "SELECT * FROM users";
$stmt = $pdo -> query($sql);

// 获取结果集
$data = $stmt -> fetchAll(PDO::FETCH_ASSOC);

var_dump($data);
Contrôle des transactions

1) Transaction ouverte

$pdo -> beginTransaction()
2) Annulation de la transaction

$pdo -> rollback()
3) Soumission de transaction

$pdo -> commit()
4) Soumission automatique

$pdo -> setAttribute(PDO::ATTR_AUTOCOMMIT,1)
Instance

 exec("set names utf8");

// 开启事务
$pdo -> beginTransaction();

// SQL语句
$sql1 = "UPDATE users SET `money`=`money`+1 WHERE `id` = 1 ";
$r1 = $pdo -> exec($sql1);

$sql2 = "UPDATE users SET `money`=`money`-1 WHERE `id` = 12 ";
$r2 = $pdo -> exec($sql2);

// 做判断
if($r1 > 0 && $r2 > 0){
    $pdo -> commit();
    echo '操作成功';
}else{
    $pdo -> rollback();
    echo '操作失败';
}

$pdo -> setAttribute(PDO::ATTR_AUTOCOMMIT,1);
Prétraitement

1) $sql = « ??? »

Les paramètres dans VALUE de l'instruction SQL sont remplacés par des points d'interrogation.

2) Créer un objet précompilé

$pdo -> prepare($sql)
3) Affectation des paramètres

$stmt -> bindParam(参数位置 | 参数伪名, 变量名(需要有值)) 

$stmt -> bindValue(参数参数位置 | 参数伪名, 变量名(需要有值)| 具体的值)

$stmt -> Explication détaillée de bindParam :

$sql = "UPDATE users SET `money`=100 WHERE id = :num ";

// 注意,这里必须先给$num赋值
$num = 3;
$stmt -> bindParam(":num",$num);


另一种形式(占位符变成问号)
$sql = "UPDATE users SET `money`=100 WHERE id = ? ";

// 注意,这里必须先给$num赋值
$num = 3;
$stmt -> bindParam(":num",$num);

$stmt -> Explication détaillée de bindValue

Après avoir utilisé bindValue pour lier une variable, même si la valeur de la variable est modifiée avant l'exécution de l'exécution, le résultat ne sera pas le même.

Veuillez voir ici pour plus de détails et écrivez le contenu du lien ici

4) Exécutez le code

$stmt -> execute()
5) Obtenez les résultats (opération de requête exclusive)

Le

$stmt -> fetch($mode)      获取一个结果

$stmt -> fetchAll($mode)   获取所有结果
mode peut sélectionner PDO::FETCH_ASSOC, et le résultat devient un

tableau associatif.

Exemple

 exec("set names utf8");


// SQL语句
$sql = "SELECT * FROM users WHERE id > :num ";

// 创建预编译对象
$stmt = $pdo -> prepare($sql);

// 参数绑定
$num = 3;
$stmt -> bindParam(":num",$num);

// 执行SQL语句
$stmt -> execute();

// 获取结果集
$data = $stmt -> fetchAll(PDO::FETCH_ASSOC);

var_dump($data);
Recommandations associées :

Méthode MySQL d'exploitation de la base de données MySQL

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