Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung der Verwendung von MySQL PDO::prepare
PDO::prepare – Bereiten Sie die auszuführende SQL-Anweisung vor und geben Sie ein PDOStatement-Objekt zurück (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
Beschreibung
Syntax
public PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )
Bereiten Sie die auszuführende SQL-Anweisung für die PDOStatement::execute()-Methode vor. Die SQL-Anweisung kann null oder mehr Namen (:name) oder Fragen enthalten Markiert (?) Parametermarkierung, die Parameter werden ersetzt, wenn SQL ausgeführt wird.
Sie können nicht sowohl benannte (:name) als auch Fragezeichen- (?) Parametermarkierungen in eine SQL-Anweisung einfügen. Sie können nur einen dieser Stile auswählen.
Die Parameter in der vorverarbeiteten SQL-Anweisung übergeben die echten Parameter, wenn die Methode PDOStatement::execute() verwendet wird.
Parameter
Anweisung: Legale SQL-Anweisung.
driver_options: Dieses Array enthält ein oder mehrere Schlüssel=>Wert-Paare zum Festlegen der Eigenschaften des PDOStatement-Objekts. Am häufigsten wird der PDO::ATTR_CURSOR-Wert auf PDO::CURSOR_SCROLL gesetzt, um einen anzufordern scrollbarer Cursor.
Rückgabewert
Bei Erfolg gibt PDO::prepare() ein PDOStatement-Objekt zurück, bei Fehlschlagen gibt es FALSE zurück oder löst eine Ausnahme-PDOException aus.
Beispiel
Verwenden Sie benannte (:name) Parameter, um SQL-Anweisungen vorzubereiten.
<?php /* 通过数组值向预处理语句传递值 */ $sql = 'SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour'; $sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY)); $sth->execute(array(':calories' => 150, ':colour' => 'red')); $red = $sth->fetchAll(); $sth->execute(array(':calories' => 175, ':colour' => 'yellow')); $yellow = $sth->fetchAll(); ?>
Verwenden Sie Fragezeichen-Parameter (?), um SQL-Anweisungen vorzubereiten
<?php /* 通过数组值向预处理语句传递值 */ $sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND colour = ?');$sth->execute(array(150, 'red')); $red = $sth->fetchAll(); $sth->execute(array(175, 'yellow')); $yellow = $sth->fetchAll(); ?>
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Verwendung von MySQL PDO::prepare. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!