Heim > Backend-Entwicklung > PHP-Tutorial > PDO-Methode zum Betreiben einer MySQL-Datenbank in PHP

PDO-Methode zum Betreiben einer MySQL-Datenbank in PHP

不言
Freigeben: 2023-03-29 21:52:02
Original
1480 Leute haben es durchsucht

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

1) Verbindung zur Datenbank herstellen

$pdo = new PDO(“mysql:host=localhost; dbname=db_name”,username,password);
Nach dem Login kopieren

2) SQL-Anweisung ausführen

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

$pdo -> exec()     针对没有返回结果的操作  适用于增删改
Nach dem Login kopieren

3) Ergebnismenge abrufen (exklusiv für Abfrageoperationen)

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

$stmt -> fetchAll($mode)   获取所有数据
Nach dem Login kopieren

Modus ist optional PDO::FETCH_ASSOC, das Ergebnis wird zu einem assoziativen Array.

Instanz

<?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);
Nach dem Login kopieren

Transaktionskontrolle

1) Offene Transaktion

$pdo -> beginTransaction()
Nach dem Login kopieren

2) Transaktions-Rollback

$pdo -> rollback()
Nach dem Login kopieren

3) Transaktionsübermittlung

$pdo -> commit()
Nach dem Login kopieren

4) Automatische Übermittlung

$pdo -> setAttribute(PDO::ATTR_AUTOCOMMIT,1)
Nach dem Login kopieren

Instanz

 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);
Nach dem Login kopieren

Vorverarbeitung

1) $sql = "? ??"

Parameter im VALUE der SQL-Anweisung werden durch Fragezeichen ersetzt.

2) Vorkompiliertes Objekt erstellen

$pdo -> prepare($sql)
Nach dem Login kopieren

3) Parameterzuweisung

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

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

$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);
Nach dem Login kopieren

$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

4) Führen Sie den Code aus

$stmt -> execute()
Nach dem Login kopieren

5) Erhalten Sie die Ergebnisse (exklusiv für Abfrageoperationen)

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

$stmt -> fetchAll($mode)   获取所有结果
Nach dem Login kopieren

Modus verfügbar Wählen Sie PDO::FETCH_ASSOC und das Ergebnis wird zu einem assoziativen Array.

Beispiel

 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);
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage