Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Bindt een waarde aan een benoemde of vraagteken-placeholder in de SQL-instructie.
Syntax
bool PDOStatement::bindValue($parameter, $value[, $data_type]);
Parameters
$ parameter: Een (gemengde) parameter-identificatie. Voor een statement met benoemde placeholders, gebruik een parameternaam (:name). Voor een voorbereide uitspraak met de vraagtekensyntaxis is het de 1-gebaseerde index van de parameter.
$ waarde: De (gemengde) waarde die aan de parameter moet binden.
$ data_type: Het optionele (geheel) datatype dat wordt weergegeven door een PDO::P ARAM_*-constante. De standaard is PDO::P ARAM_STR.
Retourwaarde
WAAR wat betreft succes, anders ONWAAR.
Remarks
Ondersteuning voor PDO werd toegevoegd in versie 2.0 van de Microsoft Drivers for PHP for SQL Server.
Parametervoorbeeld
Dit voorbeeld laat zien dat nadat de waarde van $contact is gebonden, het wijzigen van de waarde de waarde die in de query is gegeven niet verandert.
<?php
$database = "AdventureWorks";
$server = "(local)";
$conn = new PDO("sqlsrv:server=$server ; Database = $database", "", "");
$contact = "Sales Agent";
$stmt = $conn->prepare("select * from Person.ContactType where name = ?");
$stmt->bindValue(1, $contact);
$contact = "Owner";
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
print "$row[Name]\n\n";
}
$stmt = null;
$contact = "Sales Agent";
$stmt = $conn->prepare("select * from Person.ContactType where name = :contact");
$stmt->bindValue(':contact', $contact);
$contact = "Owner";
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
print "$row[Name]\n\n";
}
?>
Note
Het wordt aanbevolen om strings als invoer te gebruiken bij het binden van waarden aan een decimale of numerieke kolom om precisie en nauwkeurigheid te waarborgen, aangezien PHP beperkte precisie heeft voor drijvendekommagetallen. Hetzelfde geldt voor bigintkolommen, vooral wanneer de waarden buiten het bereik van een geheel getal liggen.
Voorbeeld van decimale invoer
Dit codevoorbeeld laat zien hoe een decimale waarde als invoerparameter wordt gebind.
<?php
$database = "Test";
$server = "(local)";
$conn = new PDO("sqlsrv:server=$server ; Database = $database", "", "");
// Assume TestTable exists with a decimal field
$input = 9223372036854.80000;
$stmt = $conn->prepare("INSERT INTO TestTable (DecimalCol) VALUES (?)");
// by default it is PDO::PARAM_STR, rounding of a large input value may
// occur if PDO::PARAM_INT is specified
$stmt->bindValue(1, $input, PDO::PARAM_STR);
$stmt->execute();