Heim  >  Artikel  >  Backend-Entwicklung  >  PDO-Bedienungsanleitung in PHP

PDO-Bedienungsanleitung in PHP

WBOY
WBOYOriginal
2023-05-21 13:01:361444Durchsuche

In PHP kann die Verwendung von PDO zum Betreiben der Datenbank die Sicherheit und Portabilität des Codes verbessern. PDO ist eine PHP-Erweiterung, die eine einheitliche Schnittstelle für den Datenbankzugriff bietet und mehrere Datenbanktypen unterstützt. Dieser Artikel führt Sie in die grundlegende Verwendung und Vorsichtsmaßnahmen von PDO ein.

1. Verbindung zur Datenbank herstellen
Die Verwendung von PDO zum Herstellen einer Verbindung zur Datenbank erfordert die folgenden Parameter:

$dsn: Datenbanktyp: Host=Hostname; Datenbankname=Datenbankname
$Benutzername: Benutzername
$Passwort: Passwort
$ Optionen: optionale Parameter, mit denen einige Optionen für die Verbindung zur Datenbank angegeben werden, z. B. Zeichensatz, Verbindungszeitlimit usw.

Das Folgende ist ein Beispiel für die Verbindung zu einer MySQL-Datenbank:

$dsn = 'mysql:host=localhost;dbname=test;charset=utf8';
$username = 'root';
$password = '123456' ;
$ options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);

try {

$pdo = new PDO($dsn, $username, $password, $options);

} Catch (PDOException $e) {

die($e->getMessage());

}

2. SQL-Anweisungen ausführen
Zur Ausführung erforderlich SQL-Anweisungen mit PDO Durch den Aufruf der Prepare-Methode von PDO wird zunächst die SQL-Anweisung vorbereitet und die Variablen in der SQL-Anweisung an die Parameter gebunden. Rufen Sie als Nächstes die Methode „execute“ auf, um die SQL-Anweisung auszuführen.

Das Folgende ist ein Beispiel für die Abfrage der Datenbank:

$sql = 'SELECT id, name, age FROM users WHERE age >';
$stmt = $pdo->prepare($sql);
$ stmt- >bindParam(1, $age);
$age = 18;
$stmt->execute();
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

In diesem Beispiel , Variablen in SQL-Anweisungen werden durch Fragezeichen ersetzt. Wenn Sie Variablen an Parameter binden, müssen Sie die Methode bindParam oder bindValue verwenden.

Die bindParam-Methode übergibt die Variable als Referenz an den Parameter. Dies bedeutet, dass sich auch der Wert des Parameters ändert, wenn sich der Wert der Variablen ändert.

Die bindValue-Methode kopiert den Wert der Variablen in den Parameter, was bedeutet, dass sich der Wert des Parameters nicht ändert, selbst wenn sich der Wert der Variablen ändert.

3. Transaktionskontrolle verwenden
Bei Datenbankoperationen bezieht sich eine Transaktion auf eine Gruppe zusammengehöriger Datenbankoperationen. Diese Gruppe von Operationen wird entweder alle erfolgreich ausgeführt oder alle werden zurückgesetzt. Die Methoden beginTransaction, commit und rollBack von PDO können uns dabei helfen, die Transaktionskontrolle zu erreichen.

Das Folgende ist ein Beispiel für das Einfügen von Daten:

try {

$pdo->beginTransaction();
$stmt = $pdo->prepare('INSERT INTO users (name, age) VALUES (:name, :age)');
$stmt->bindParam(':name', $name);
$stmt->bindParam(':age', $age);

$name = '张三';
$age = 20;
$stmt->execute();

$name = '李四';
$age = 22;
$stmt->execute();

$pdo->commit();

} Catch (PDOException $e) {

$pdo->rollBack();
die($e->getMessage());

}

In diesem Beispiel bedeutet die beginTransaction-Methode das Starten einer Transaktion, die commit-Methode bedeutet das Festschreiben der Transaktion, und die RollBack-Methode bedeutet, dass die Transaktion zurückgesetzt wird.

4. Hinweise
Wenn Sie PDO zum Betreiben der Datenbank verwenden, müssen Sie außerdem auf die folgenden Punkte achten:

  • PDO löst standardmäßig keine Ausnahmen aus. Sie müssen ATTR_ERRMODE als ERRMODE_EXCEPTION angeben, um eine Verbindung zur Datenbank herzustellen eine Ausnahme. Die Prepare-Methode von
  • PDO maskiert die Parameter automatisch, sodass es nicht erforderlich ist, sie manuell zu maskieren. Die fetchAll-Methode von
  • PDO gibt standardmäßig ein assoziatives Array zurück. Sie können PDO::FETCH_NUM verwenden, um ein numerisches Index-Array abzurufen, und PDO::FETCH_BOTH, um ein Array abzurufen, das sowohl numerische Indizes als auch assoziative Indizes enthält.
  • Für MySQL-Datenbanken müssen simulierte vorbereitete Anweisungen verwendet werden, wenn PDO SQL-Anweisungen ausführt, was SQL-Injection-Angriffe verhindern kann. Wenn Sie simulierte vorbereitete Anweisungen verwenden, müssen Sie ATTR_EMULATE_PREPARES beim Herstellen einer Verbindung zur Datenbank als „false“ angeben.

Zusammenfassend lässt sich sagen, dass die Verwendung von PDO zum Betreiben der Datenbank die Sicherheit und Portabilität des Codes verbessern kann. Um Sicherheitsprobleme beim Betrieb der Datenbank zu vermeiden, können Sie die oben genannten Methoden kombinieren, mehr nachdenken und mehr ausprobieren und PDO besser nutzen.

Das obige ist der detaillierte Inhalt vonPDO-Bedienungsanleitung 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