Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Egy értéket köt egy nevelt vagy kérdőjel helykitöltőre az SQL utasításban.
Syntax
bool PDOStatement::bindValue($parameter, $value[, $data_type]);
Paraméterek
$ paraméter: Egy (vegyes paraméterazonosító). Egy elnevezett helykitöltőt használó utasításhoz használj egy paraméternevet (:name). Egy kérdőjel szintaxissal előkészített állítás esetén ez a paraméter 1-es indexe.
$ érték: A (vegyes érték) a paraméterhez kötött érték.
$ data_type: Az opcionális (egész szám) adattípus, amelyet egy PDO::P ARAM_* állandó képvisel. Az alapértelmezett a PDO::P ARAM_STR.
Visszaadott érték
Igaz a sikerről, egyébként HAMIS.
Remarks
A PDO támogatását a Microsoft Drivers for PHP for SQL Server 2.0-s verziójában adták hozzá.
Paraméter példa
Ez a példa azt mutatja, hogy miután $contact értéke megkötött, az érték megváltoztatása nem változtatja meg a lekérdezésben átadott értéket.
<?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
Ajánlott a láncszálakat bemenetként használni, amikor értékeket kötünk tizedes vagy numerikus oszlophoz , hogy biztosítsuk a pontosságot és a pontosságot, mivel a PHP korlátozott pontossággal rendelkezik a lebegőpontos számok esetében. Ugyanez igaz a bigint oszlopokra is, különösen, ha az értékek nem esnek egy egész szám tartományán.
Tizedes bemeneti példa
Ez a kódminta megmutatja, hogyan lehet egy tizedes értéket bemeneti paraméterként kötni.
<?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();