PDOStatement::bindParam()

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

PDOStatement::bindParam

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

PDOStatement::bindParam — Binder en parameter till ett specifikt variabelnamn.

Beskrivning

public PDOStatement::bindParam(

   string|int $param,
   mixed &$var,
   int $type = PDO::PARAM_STR,
   int $maxLength = 0,
   mixed $driverOptions = null

): bool

Binder en PHP-variabel till en motsvarande namngiven eller frågetecken-platshållare i det förberedda SQL-uttrycket. Till skillnad från PDOStatement::bindValue() binds variabeln som en referens och kommer endast att utvärderas när PDOStatement::execute() anropas.

De flesta parametrar är inparametrar som används i läs-läge för att bygga upp frågan. Vissa drivrutiner stödjer även utparametrar för lagrade procedurer.

Parametrar

param
Identifieraren för parametern. För ett förberett uttryck med namngivna platshållare kommer detta att vara ett parameter-namn i formen :name. För ett förberett uttryck med frågetecken-platshållare är detta positionen (1-indexerat) för parametern.
var
Namnet på PHP-variabeln som ska bindas till parametern i SQL-uttrycket.
type
Datatyp för parametern, specificerad med PDO::PARAM_* konstanter. För INOUT-parametrar från lagrade procedurer, använd bitvis OR för att sätta PDO::PARAM_INPUT_OUTPUT.
maxLength
Längden på datatypen. Krävs för OUT-parametrar från lagrade procedurer. Relevans endast vid användning av PDO::PARAM_INPUT_OUTPUT.
driverOptions
Drivrutinsspecifika alternativ (valfritt).

Returvärden

Returnerar true vid framgång eller false vid misslyckande.

Fel/Uppslag

  • Utlöser ett fel på nivån E_WARNING om attributet PDO::ATTR_ERRMODE är inställt på PDO::ERRMODE_WARNING.
  • Kastar ett PDOException-fel om attributet PDO::ATTR_ERRMODE är inställt på PDO::ERRMODE_EXCEPTION.

Exempel

Exempel 1: Exekvera ett förberett uttalande med namngivna platshållare

<?php
/* Exekvera ett förberett uttalande genom att binda PHP-variabler */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');
$sth->bindParam('calories', $calories, PDO::PARAM_INT);
/* Namn kan också förses med kolon ":" (valfritt) */
$sth->bindParam(':colour', $colour, PDO::PARAM_STR);
$sth->execute();
?>

Exempel 2: Exekvera ett förberett uttalande med frågetecken-platshållare

<?php
/* Exekvera ett förberett uttalande genom att binda PHP-variabler */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindParam(2, $colour, PDO::PARAM_STR);
$sth->execute();
?>

Exempel 3: Anropa en lagrad procedur med en INOUT-parameter

<?php
/* Anropa en lagrad procedur med en INOUT-parameter */
$colour = 'red';
$sth = $dbh->prepare('CALL puree_fruit(?)');
$sth->bindParam(1, $colour, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12);
$sth->execute();
print "Efter pureeing fruit, färgen är: $colour";
?>

Se även

Sidslut

Orginalhemsidan på Engelska :https://www.php.net/manual/en/pdostatement.bindparam.php
PHP Funktioner Funktionsreferens Databas-tillägg


Det här är en maskinöversättning av PHP-manualen till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Huddinge Datorhjälp som har sponsrat Linux.se med webbhotell.