Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erklärung der grundlegenden Verwendung von PDO zum Erlernen der PHP-Datenbank
PHP PDO ist eine wichtige Komponente in der PHP-Datenbankerweiterung. Es bietet eine einheitliche API für PHP und verschiedene relationale Datenbanken. Durch die Verwendung von PDO können unsere Programme sicherer, effizienter und einfacher zu warten sein.
In diesem Artikel stellen wir die Verwendung von PHP PDO vor, einschließlich der Herstellung einer Verbindung zur Datenbank, der Ausführung von SQL-Anweisungen, der Transaktionsverarbeitung usw.
1. Herstellen einer Verbindung zur Datenbank
Das Herstellen einer Verbindung zur Datenbank ist ein wichtiger Schritt bei der Verwendung von PDO für Datenbankoperationen. Bevor Sie eine Verbindung zur Datenbank herstellen, müssen Sie die Datenbankadresse, den Benutzernamen, das Kennwort und die entsprechende Datenbank vorbereiten Name und andere Informationen.
Der Code zum Herstellen einer Verbindung zur Datenbank lautet wie folgt:
// 数据库连接信息,根据实际情况修改 $db_host = 'localhost'; // 数据库地址 $db_name = 'mydatabase'; // 数据库名称 $db_user = 'root'; // 数据库用户名 $db_password = 'password'; // 数据库密码 // 创建PDO对象 try { $pdo = new PDO("mysql:host={$db_host};dbname={$db_name}", $db_user, $db_password); } catch (PDOException $e) { echo '数据库连接失败:' . $e->getMessage(); exit; }
2. SQL-Anweisungen ausführen
Nachdem wir eine Verbindung zur Datenbank hergestellt haben, müssen wir zunächst lernen, wie man SQL-Anweisungen ausführt . PDO bietet mehrere Methoden zum Ausführen von SQL-Anweisungen. Die am häufigsten verwendeten Methoden sind query()
und prepare()
. query()
和prepare()
方法。
1、使用query()方法执行SQL语句
query()
方法可以直接执行SQL语句,语句执行成功后,返回PDOStatement对象。
比如我们要查询一张用户表(user)中的数据,代码如下:
$sql = "SELECT * FROM user"; // SQL语句 $stmt = $pdo->query($sql); // 执行SQL语句,返回PDOStatement对象 // 获取查询结果 while ($row = $stmt->fetch()) { print_r($row); }
2、使用prepare()方法执行SQL语句
prepare()
1. Verwenden Sie die Methode query(), um SQL-Anweisungen auszuführen.
Die Methode query()
kann SQL-Anweisungen direkt ausführen. Nachdem die Anweisung erfolgreich ausgeführt wurde, wird das PDOStatement-Objekt zurückgegeben. Wenn wir beispielsweise die Daten in einer Benutzertabelle (Benutzer) abfragen möchten, lautet der Code wie folgt:
$sql = "SELECT * FROM user WHERE id = ?"; // SQL语句,使用?作为占位符 $stmt = $pdo->prepare($sql); // 准备SQL语句 $id = 1; // 赋值给变量$id $stmt->execute([$id]); // 执行SQL语句并传入变量值 // 获取查询结果 while ($row = $stmt->fetch()) { print_r($row); }
2 Verwenden Sie die Methode „prepare()“, um die SQL-Anweisung auszuführen
prepare ()
-Methode kann eine SQL-Anweisung vorbereiten und die Variablenbindung verwenden, um die SQL-Anweisung auszuführen. Durch die Verwendung der Variablenbindung können SQL-Injection-Angriffe verhindert werden. Der Code lautet wie folgt: 🎜$pdo->beginTransaction(); // 开启事务 // 定义SQL语句 $sql1 = "DELETE FROM user WHERE id = ?"; $sql2 = "INSERT INTO user (uname, age) VALUES (?, ?)"; // 准备SQL语句 $stmt1 = $pdo->prepare($sql1); $stmt2 = $pdo->prepare($sql2); // 赋值给变量 $id = 1; // 要删除的数据ID $uname = 'test'; // 新增数据的用户名 $age = 18; // 新增数据的年龄 // 执行SQL语句 $stmt1->execute([$id]); $stmt2->execute([$uname, $age]); // 提交事务 $pdo->commit();🎜🎜🎜 3. Transaktionsverarbeitung 🎜🎜🎜🎜Bei Datenbankoperationen erfordern einige Operationen die gleichzeitige Ausführung mehrerer SQL-Anweisungen. Zu diesem Zeitpunkt ist eine Transaktionsverarbeitung erforderlich. Bei der Transaktionsverarbeitung muss sichergestellt werden, dass alle Vorgänge vor dem Festschreiben erfolgreich sind. Andernfalls wird ein Rollback auf den Status vor Beginn der Transaktion durchgeführt. 🎜🎜Der Code lautet wie folgt: 🎜rrreee🎜Das Obige ist die grundlegende Verwendung von PHP PDO. Für fortgeschrittenere Anwendungen können Sie auch einige erweiterte Funktionen von PDO verwenden, z. B. vorbereitete Anweisungen und benannte Bindungen. Ich hoffe, dieser Artikel kann Ihnen bei der Verwendung von PDO in der PHP-Entwicklung helfen. 🎜
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der grundlegenden Verwendung von PDO zum Erlernen der PHP-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!