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

PDO-Methode zum Betreiben einer MySQL-Datenbank in PHP

不言
不言Original
2018-06-06 09:34:481464Durchsuche

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);

2) SQL-Anweisung ausführen

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

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

3) Ergebnismenge abrufen (exklusiv für Abfrageoperationen)

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

$stmt -> fetchAll($mode)   获取所有数据

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);

Transaktionskontrolle

1) Offene Transaktion

$pdo -> beginTransaction()

2) Transaktions-Rollback

$pdo -> rollback()

3) Transaktionsübermittlung

$pdo -> commit()

4) Automatische Übermittlung

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

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);

Vorverarbeitung

1) $sql = "? ??"

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

2) Vorkompiliertes Objekt erstellen

$pdo -> prepare($sql)

3) Parameterzuweisung

$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

4) Führen Sie den Code aus

$stmt -> execute()

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

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

$stmt -> fetchAll($mode)   获取所有结果

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);

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!

Stellungnahme:
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
Vorheriger Artikel:Tipps zum PHP-Hash-AlgorithmusNächster Artikel:Tipps zum PHP-Hash-Algorithmus