PDOStatement::bindValue

PHP sürücüsünü indirme

SQL ifadesindeki isimli veya soru işareti yer tutucuya bir değer bağlar.

Syntax

  
bool PDOStatement::bindValue($parameter, $value[, $data_type]);  

Parametreler

$ parametre: (karışık) bir parametre tanımlayıcısı. Adlandırılmış yer tutucular kullanan bir ifade için, bir parametre adı (:name) kullanın. Soru işareti sözdizimi kullanılarak hazırlanmış bir ifade için, parametrenin 1 tabanlı indeksidir.

$ değer: Parametreye bağlanacak (karışık) değer.

$ data_type: PDO::P ARAM_* sabitiyle temsil edilen isteğe bağlı (tam sayı) veri tipi. Varsayılan olarak PDO::P ARAM_STR'dir.

Dönüş Değeri

Başarı konusunda DOĞRU, aksi takdirde YANLIŞ.

Remarks

PDO desteği, SQL Server için Microsoft Drivers for PHP sürümünün 2.0 sürümünde eklenmiştir.

Parametre örneği

Bu örnek, $contact değeri bağlandıktan sonra değerin değiştirilmesinin sorguda geçilen değeri değiştirmediğini göstermektedir.

<?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

PHP'nin kayan nokta sayıları için hassasiyet ve doğruluk sağlamak için değerleri ondalık veya sayısal sütuna bağlamak için giriş olarak dizide kullanılması önerilir. Aynı durum bigint sütunları için de geçerlidir, özellikle değerler tam sayı aralığı dışında olduğunda.

Ondalık giriş örneği

Bu kod örneği, bir ondalık değeri giriş parametresi olarak nasıl bağlanacağını gösterir.

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