PDO::prepare

(no version information, might be only in CVS)

PDO::prepare --  Prepares a statement for execution and returns a statement object

Popis

PDOStatement PDO::prepare ( string statement [, array driver_options] )

Varovanie

T�to funkcia je EXPERIMENT�LNA. Spr�vanie tejto funkcie, n�zov tejto funkcie a hoci�o in� zdokumentovan� o tejto funkcii sa m�e zmeni� bez pov�imnutia v bud�com vydan� PHP. Pou��vajte t�to funkcii na svoje vlastn� riziko.

Prepares an SQL statement to be executed by the PDOStatement::execute() method. The SQL statement can contain zero or more named (:name) or question mark (?) parameter markers for which real values will be substituted when the statement is executed.

Calling PDO::prepare() and PDOStatement::execute() for statements that will be issued multiple times with different parameter values optimizes the performance of your application and helps prevent SQL injection attacks.

Parametre

statement

This must be a valid SQL statement for the target database server.

driver_options

This array holds one or more key=>value pairs to set attribute values for the PDOStatement object that this method returns. You would most commonly use this to set the PDO_ATTR_CURSOR value to PDO_CURSOR_SCROLL to request a scrollable cursor.

Vrátené hodnoty

If the database server successfully prepares the statement, PDO::prepare() returns a PDOStatement object.

Príklady

Príklad 1. Prepare an SQL statement with named parameters

<?php
/* Execute a prepared statement by passing an array of values */
$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();
?>

Príklad 2. Prepare an SQL statement with question mark parameters

<?php
/* Execute a prepared statement by passing an array of values */
$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();
?>

Tiež pozri

PDO::exec()
PDO::query()
PDOStatement::execute()