PHP K�sikirja
Edellinen |  | Seuraava

# PDO::prepare

(no version information, might be only in CVS)

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

## Description

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

Varoitus
Varoitus! T�m� funktio on EKSPERIMENTAALINEN. T�m�n funktion ominaisuudet, k�ytt�ytyminen, parametrit ja nimi voi muuttua varoituksetta seuraavissa PHP:n versioissa.

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.

## Parameters

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.

## Return values

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

## Examples

Esimerkki 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();
?>`

Esimerkki 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(); ?>`

## See Also

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

Edellinen | Alkuun | Seuraava
PDO::lastInsertId | Ylös | PDO::query