Rechercher une fonction PHP

PDOStatement::execute

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement::execute Führt ein Prepared Statement aus

Beschreibung

public PDOStatement::execute ([ array $input_parameters ] ) : bool

Führt das Prepared Statement aus. Falls das Prepared Statement Parameter-Marker enthält, muss entweder:

  • PDOStatement::bindParam() und/oder PDOStatement::bindValue() aufgerufen werden, um Variablen beziehungsweise Werte an die Parameter-Marker zu binden. Gebundene Variablen geben ihren Wert als Eingabe und ihnen wird, falls zutreffend, der Ausgabewert der zugehörigen Parameter-Marker zugewiesen.

  • oder ein Array mit Nur-Eingabe-Parameterwerten übergeben werden

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Parameter-Liste

input_parameters

Ein Array mit Werten in gleicher Anzahl wie der Anzahl gebundener Parameter im auszuführenden SQL-Statement. Alle Werte werden als PDO::PARAM_STR behandelt.

Für einen einzelnen Paramter können nicht mehrere Werte zugeordnet werden; zum Beispiel ist es nicht gestattet, zwei Werte an einen einzelnen benannten Parameter in einer IN()-Klausel zu binden.

Mehr Werte als festgelegt zuzuordnen ist nicht möglich; wenn mehr Parameter in den input_parameters übergeben werden, als in PDO::prepare() definiert wurden, wird das Statement fehlschlagen und ein Fehler wird ausgegeben.

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Changelog

Version Beschreibung
5.2.0 Die Parameternamen der input_parameters müssen mit den im SQL definierten übereinstimmen. Vor PHP 5.2.0 wurde das stillschweigend ignoriert.

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Beispiele

Beispiel #1 Ein Prepared Statement mit einer zugewiesener Variable und Wert ausführen

<?php
/* Ein Prepared Statement ausführen, in dem Variable und Wert zugewiesen werden */
$calories 150;
$colour 'gre';
$sth $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour LIKE :colour'
);
$sth->bindParam(':calories'$caloriesPDO::PARAM_INT);
$sth->bindValue(':colour'"%{$colour}%");
$sth->execute();
?>

Beispiel #2 Ein Prepared Statement mit einem Array an Eingabewerten (benannte Parameter) ausführen

<?php
/* Ein Prepared Statement ausführen, indem ein Array an Eingabewerten übergeben wird */
$calories 150;
$colour 'red';
$sth $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour'
);
$sth->execute(array(':calories' => $calories':colour' => $colour));
?>

Beispiel #3 Ein Prepared Statement mit einem Array an Eingabewerten (Platzhalter) ausführen

<?php
/* Ein Prepared Statement ausführen, indem ein Array an Eingabewerten übergeben wird */
$calories 150;
$colour 'red';
$sth $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?'
);
$sth->execute(array($calories$colour));
?>

Beispiel #4 Ein Prepared Statement mit Fragezeichen-Platzhaltern ausführen

<?php
/* Ein Prepared Statement durch das zuordnen von PHP-Variablen ausführen*/
$calories 150;
$colour 'red';
$sth $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?'
);
$sth->bindParam(1$caloriesPDO::PARAM_INT);
$sth->bindParam(2$colourPDO::PARAM_STR12);
$sth->execute();
?>

Beispiel #5 Ein Prepared Statement mit einem Array für eine IN-Klausel ausführen

<?php
/* Führt ein Prepared Statement mit einem Array für eine IN-Klausel aus */
$params = array(12163171);
/* Erstelle einen String für die Parameter-Platzhalter gefüllt bis zur Anzahl Parameter */
$place_holders implode(','array_fill(0count($params), '?'));

/*
    Das bereitet das Statement mit genügend unbenannten Platzhaltern
    für jeden Wert in unserem $params-Array vor. Die Werte aus dem
    $params-Array werden dann an die Platzhalter im Prepared Statement
    gebunden, wenn das Statement ausgeführt wird. Das ist nicht das
    gleiche wie PDOStatement::bindParam() zu verwenden, weil dies eine
    Referenz zur Variable benötigt. PDOStatement::execute() ordnet
    hingegen nur die Werte zu.
*/
$sth $dbh->prepare("SELECT id, name FROM contacts WHERE id IN ($place_holders)");
$sth->execute($params);
?>

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Anmerkungen

Hinweis:

Manche Treiber verlangen die Ausführung von close cursor, bevor das nächste Statement ausgeführt wird.

Erste Seite von PHP-Handbuch Inhaltsverzeichnis Haut

Siehe auch

Finde eine PHP-Funktion

Deutsche Übersetzung

Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.

Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.

Vielen Dank im Voraus.

Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-pdostatement.execute.html

Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.

Referenzen

  1. Zeigen Sie - html-Dokument Sprache des Dokuments:fr Manuel PHP : http://php.net

Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.

Inhaltsverzeichnis Haut