PDOStatement::bindParam()
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
- PDO::prepare() - Förbereder ett uttalande för exekvering och returnerar ett statement-objekt.
- PDOStatement::execute() - Exekverar ett förberett uttalande.
- PDOStatement::bindValue() - Binder ett värde till en parameter.
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.