Heim > Artikel > Backend-Entwicklung > PDO-Methode zum Betreiben einer MySQL-Datenbank in PHP
Dieser Artikel stellt hauptsächlich die PDO-Methode zum Betrieb von MySQL-Datenbanken mit PHP vor. Jetzt kann ich ihn mit Ihnen teilen
Grundlegende Verwendung
$pdo = new PDO(“mysql:host=localhost; dbname=db_name”,username,password);
$pdo -> query() 针对返回有结果的操作 适用于SELECT $pdo -> exec() 针对没有返回结果的操作 适用于增删改
$stmt -> fetch($mode) 获取一条数据 $stmt -> fetchAll($mode) 获取所有数据
Modus ist optional PDO::FETCH_ASSOC, das Ergebnis wird zu einem assoziativen Array.
<?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);
Transaktionskontrolle
$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);
Vorverarbeitung
Parameter im VALUE der SQL-Anweisung werden durch Fragezeichen ersetzt.
$pdo -> prepare($sql)
$stmt -> bindParam(参数位置 | 参数伪名, 变量名(需要有值)) $stmt -> bindValue(参数参数位置 | 参数伪名, 变量名(需要有值)| 具体的值)
$stmt -> Detaillierte Erklärung von 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 -> Detaillierte Erklärung von bindValue
Nach der Verwendung von bindValue zum Binden einer Variablen ändert sich das Ergebnis nicht, selbst wenn der Wert der Variablen vor der Ausführung geändert wird.
Weitere Informationen finden Sie hier und schreiben Sie den Linkinhalt hier
$stmt -> execute()
$stmt -> fetch($mode) 获取一个结果 $stmt -> fetchAll($mode) 获取所有结果
Modus verfügbar Wählen Sie PDO::FETCH_ASSOC und das Ergebnis wird zu einem assoziativen Array.
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);
Verwandte Empfehlungen:
MySQLI-Methode zum Betrieb einer MySQL-Datenbank
Das obige ist der detaillierte Inhalt vonPDO-Methode zum Betreiben einer MySQL-Datenbank in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!