Heim >Backend-Entwicklung >PHP-Problem >PHP verwendet pdo zum Hinzufügen und Löschen

PHP verwendet pdo zum Hinzufügen und Löschen

王林
王林Original
2023-05-28 21:30:38729Durchsuche

Detaillierte Erläuterung des Änderungsvorgangs

PHP ist eine äußerst beliebte Skriptsprache im Internetbereich, und in PHP müssen wir häufig mit der Datenbank interagieren, um Vorgänge wie Datenspeicherung, Abfrage und Aktualisierung abzuschließen. Zu den derzeit am häufigsten verwendeten Methoden für Datenoperationen gehören MySQLi und PDO. In diesem Artikel konzentrieren wir uns auf die Erläuterung der Verwendung von PDO (PHP Data Objects) und der Verwendung von PDO zum Hinzufügen, Löschen, Ändern und Abfragen von Daten.

  1. Grundkonzept von PDO

PDO ist eine leichte, konsistente objektorientierte Datenzugriffsschicht-Verarbeitungsmethode, die in PHP 5.1 eingeführt wurde und eine einheitliche API für den Zugriff auf verschiedene relationale Datenbanken bereitstellt. Die Verwendung von PDO zum Herstellen einer Verbindung zur Datenbank kann bestimmte Datenbanktreiberobjekte bereitstellen und mit vielen verschiedenen Datenbanktypen weitestgehend kompatibel sein. Wenn Sie die Datenbank ändern müssen, müssen Sie nur den Datenbanktreiber ändern, ohne andere Datenbankbetriebsschnittstellen zu ändern.

Bevor wir PDO für Datenbankoperationen verwenden, müssen wir zuerst Datenbankverbindungsoperationen durchführen. PDO bietet eine einfachere Möglichkeit, eine Verbindung zur Datenbank herzustellen:

$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);

Mit dem obigen Code können wir ein PDO mit dem Namen $dbh erstellen, mit dem eine Verbindung hergestellt wird eine MySQL-Datenbank namens test. $user und $pass sind der Benutzername und das Passwort der Datenbank, und mysql:host=localhost; stellt die Hostadresse dar, die eine Verbindung zur Datenbank herstellt.

  1. PDO für Datenabfrageoperationen verwenden

Bei der Verwendung von PDO für Datenabfrageoperationen müssen wir zunächst eine Abfrageanweisung über das PDO-Objekt erstellen und das Ergebnis in einer Variablen speichern. PDO unterstützt vorkompilierte Abfrageanweisungen, wodurch die Abfrageeffizienz erheblich verbessert und SQL-Injection-Angriffe vermieden werden können.

2.1 Abfragevorgang

In PDO müssen wir zunächst die SQL-Abfrageanweisung vorbereiten und ausführen:

$sql = "SELECT * FROM users WHERE username=:username";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(':username', $username);
$stmt->execute();

Im obigen Code binden wir den Wert der Variablen $username an die Abfrageanweisung, indem wir den Parameter username binden , wodurch SQL-Injection-Schwachstellen vermieden werden.

2.2 Abfrageergebnisse abrufen

Nachdem wir eine Abfrageanweisung erfolgreich ausgeführt haben, müssen wir die Ausführungsergebnisse abrufen. PDO bietet die folgenden Möglichkeiten, um die Abfrageergebnisse zu erhalten:

  • fetch(): Ruft die Abfrageergebnisse Zeile für Zeile ab. jedes Mal eine Datenzeile zurückgeben;
  • fetchAll(): Ruft die gesamte Ergebnismenge ab und gibt ein zweidimensionales Array zurück, das alle Ergebniszeilen enthält;
  • fetchColumn(): Ruft den Wert der angegebenen Spalte im Ergebnis ab set;
  • rowCount(): Gibt als Abfrageergebnis die Gesamtzahl der Zeilen zurück.

Das Folgende ist ein Beispielcode zum Erhalten von Abfrageergebnissen:

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo "username: " . $row['username'] . "
";
    echo "email: " . $row['email'] . "
";
}

Im obigen Beispielcode durchlaufen wir die Abfrageergebnismenge durch eine While-Schleife, geben jedes Mal eine Datenzeile zurück und geben jeweils den Benutzernamen und den Benutzernamen aus Datenzeile durch die Echo-Anweisung Der Wert, der der E-Mail-Spalte entspricht.

2.3 Bindungsparameter

Wenn wir PDO zum Ausführen vorkompilierter Abfragen verwenden, müssen wir die dynamischen Parameter in der Abfrageanweisung an Variablen binden, um Sicherheitslücken durch SQL-Injection zu vermeiden. PDO unterstützt die folgenden Methoden zur Parameterbindung:

  • bindParam(): Binden Sie Variablen an die Parameter einer vorbereiteten Anweisung;
  • bindValue(): Binden Sie Werte an die Parameter einer vorbereiteten Anweisung; PDOStatement-Objekt ausführen.
  • Das Folgende ist ein Beispielcode für die Parameterbindung mit der Methode bindParam():
$stmt = $dbh->prepare("SELECT * FROM users WHERE username=:username AND email=:email");
$stmt->bindParam(':username', $username);
$stmt->bindParam(':email', $email);
$stmt->execute();

Im obigen Beispielcode verwenden wir die Methode bindParam(), um die beiden Variablen $username und $email an ihre entsprechenden Gegenstücke zu binden Geben Sie die Parameter der Abfrageanweisung ein und führen Sie die Abfrageoperation über die Methodeexecute() aus. Auf diese Weise können wir SQL-Injection-Schwachstellen bei Abfragen vermeiden.

Verwenden Sie PDO zum Hinzufügen, Löschen und Ändern von Daten.
  1. Wenn Sie PDO zum Hinzufügen, Löschen und Ändern von Daten verwenden, müssen wir eine entsprechende Operationsanweisung über das PDO-Objekt erstellen und das Ergebnis in einer Variablenmitte speichern. Beim Ausführen von Anweisungen über PDO-Objekte maskiert PDO automatisch die Eingabedaten und kompiliert sie vor der Ausführung vor, wodurch Sicherheitslücken durch SQL-Injection vermieden werden.

3.1 Datenadditionsoperation

In PDO erstellen wir eine vorverarbeitete SQL-Anweisung über die Methode „prepare()“ und verwenden die Methode „execute()“, um Parameter an die Anweisung zu übergeben. Das Folgende ist ein Beispielcode zum Hinzufügen von Daten mithilfe von PDO:

// 准备SQL语句并绑定参数
$sql = "INSERT INTO `users` (`username`, `email`) VALUES (?, ?)";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(1, $username);
$stmt->bindParam(2, $email);

// 执行SQL语句,插入新的用户记录
$username = 'test_user';
$email = 'test_user@example.com';
$stmt->execute();

Im obigen Code erstellen wir zunächst eine vorverarbeitete SQL-Anweisung über die Prepare()-Methode und verwenden die bindParam()-Methode, um die Variablen $username und $email zu binden Legen Sie in dieser Anweisung die beiden Fragezeichen-Platzhalter fest, die jeweils den beiden ? in VALUES (?, ?) entsprechen. . Schließlich wird die SQL-Anweisung über die Methodeexecute() ausgeführt, um einen Datenhinzufügungsvorgang abzuschließen.

3.2 DatenlöschvorgangVALUES (?, ?)中的两个?。最后通过execute()方法执行SQL语句,从而完成一条数据添加操作。

3.2 数据删除操作

在使用PDO进行数据删除时,我们需要通过prepare()方法创建一个预处理的SQL语句,并使用bindParam()方法将需要删除的数据绑定到该语句中。下面是使用PDO进行数据删除的示例代码:

// 准备SQL语句并绑定参数
$sql = "DELETE FROM `users` WHERE `username` = ?";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(1, $username);

// 执行SQL语句,删除指定用户名的用户记录
$username = 'test_user';
$stmt->execute();

在上述示例代码中,我们首先通过prepare()方法创建了一个预处理的SQL语句,使其能够进行数据删除操作,并通过bindParam()方法将变量$username绑定到语句中的问号占位符上,对应于WHERE username = ?

Wenn wir PDO zum Löschen von Daten verwenden, müssen wir über die Prepare()-Methode eine vorverarbeitete SQL-Anweisung erstellen und die bindParam()-Methode verwenden, um die zu löschenden Daten an die Anweisung zu binden. Das Folgende ist ein Beispielcode für die Verwendung von PDO zum Löschen von Daten:

// 准备SQL语句并绑定参数
$sql = "UPDATE `users` SET `email` = ? WHERE `username` = ?";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(1, $email);
$stmt->bindParam(2, $username);

// 执行SQL语句,更新指定用户名的用户记录
$username = 'test_user';
$email = 'new_test_user@example.com';
$stmt->execute();

Im obigen Beispielcode haben wir zunächst eine vorverarbeitete SQL-Anweisung über die Methode „prepare()“ erstellt, damit sie Datenlöschvorgänge ausführen kann, und haben bindParam() übergeben. Methode Binden Sie die Variable $username an den Fragezeichen-Platzhalter in der Anweisung, der einem der ? in WHERE username = ? entspricht . Abschließend wird die SQL-Anweisung über die Methodeexecute() ausgeführt und ein Datenlöschvorgang abgeschlossen. 🎜🎜3.3 Datenänderungsvorgang🎜

使用PDO进行数据修改时,我们需要通过prepare()方法创建一个预处理的SQL语句,并使用bindParam()方法将需要修改的数据绑定到该语句中。下面是使用PDO进行数据修改的示例代码:

// 准备SQL语句并绑定参数
$sql = "UPDATE `users` SET `email` = ? WHERE `username` = ?";
$stmt = $dbh->prepare($sql);
$stmt->bindParam(1, $email);
$stmt->bindParam(2, $username);

// 执行SQL语句,更新指定用户名的用户记录
$username = 'test_user';
$email = 'new_test_user@example.com';
$stmt->execute();

在上述示例代码中,我们使用prepare()方法创建了一个预处理的SQL语句,并使用bindParam()方法将需要修改的参数绑定到该语句中。其中,使用了SET语句将用户记录中的email字段进行修改,并使用了WHERE语句将修改操作限制在了指定的用户上。在bindParam()方法中,我们通过1和2两个参数分别对应了email和username,从而完成了参数绑定的操作。

  1. 总结

通过本文的学习,我们了解了如何使用PDO进行MySQL数据库的连接、查询、数据添加、删除和修改等操作。在使用PDO进行操作时,我们需要使用prepare()方法创建一个预处理的SQL语句,并使用bindParam()方法对该语句中的动态参数进行绑定。这样,在使用execute()方法执行语句时,我们就可以避免SQL注入漏洞的发生,使数据操作更加安全可靠。

Das obige ist der detaillierte Inhalt vonPHP verwendet pdo zum Hinzufügen und Löschen. 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:Bildsprungadresse PHP-CodeNächster Artikel:Bildsprungadresse PHP-Code