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
1) Connectez-vous à la base de donnéesUtilisation de base
$pdo = new PDO(“mysql:host=localhost; dbname=db_name”,username,password);
$pdo -> query() 针对返回有结果的操作 适用于SELECT $pdo -> exec() 针对没有返回结果的操作 适用于增删改
$stmt -> fetch($mode) 获取一条数据 $stmt -> fetchAll($mode) 获取所有数据
tableau associatif.
Instance<?php // PDO操作数据库例子(查询) header("content-type:text/html;charset=utf-8"); // 连接数据库 $dsn = "mysql:host=localhost; dbname=test"; $pdo = new PDO($dsn,'root','123456789'); /*********** 执行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 transactions1) Transaction ouverte
$pdo -> beginTransaction()
$pdo -> rollback()
$pdo -> commit()
$pdo -> setAttribute(PDO::ATTR_AUTOCOMMIT,1)
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étraitement1) $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)
$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()
$stmt -> fetch($mode) 获取一个结果 $stmt -> fetchAll($mode) 获取所有结果
tableau associatif.
Exempleexec("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);
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!