Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Verwendung von MySQL PDO::prepare

Detaillierte Erläuterung der Verwendung von MySQL PDO::prepare

巴扎黑
巴扎黑Original
2017-05-24 17:37:013556Durchsuche

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 = &#39;SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour&#39;;
    $sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
    $sth->execute(array(&#39;:calories&#39; => 150, &#39;:colour&#39; => &#39;red&#39;));
    $red = $sth->fetchAll();
    $sth->execute(array(&#39;:calories&#39; => 175, &#39;:colour&#39; => &#39;yellow&#39;));
    $yellow = $sth->fetchAll();
    ?>

Verwenden Sie Fragezeichen-Parameter (?), um SQL-Anweisungen vorzubereiten

<?php
/* 通过数组值向预处理语句传递值 */
$sth = $dbh->prepare(&#39;SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?&#39;);$sth->execute(array(150, &#39;red&#39;));
    $red = $sth->fetchAll();
    $sth->execute(array(175, &#39;yellow&#39;));
    $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!

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