PDO::quote

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

Bir sorguda kullanılmak üzere bir diziyi giriş dizisi etrafına koyarak alt SQL Server veritabanının gerektirdiği şekilde tırnak yerleştirir. PDO::quote, SQL Server'a uygun bir alıntı tarzı kullanarak giriş dizisindeki özel karakterlerden kaçar.

Syntax

  
string PDO::quote( $string[, $parameter_type ] )  

Parametreler

$ String: Alıntı yapacak bir ip.

$ parameter_type: Veri türünü gösteren isteğe bağlı (tamsayı) bir sembol. Varsayılan olarak PDO::P ARAM_STR'dir.

PHP 7.2'de yeni PDO sabitleri tanıtıldı; bu da Unicode ve Unicode dışı dizeleri bağlama desteğini ekledi. Unicode dizeleri, N ön eki olan tırnak işaretleriyle çevrilebilir (yani 'string' yerine N'string').

  1. PDO::P ARAM_STR_NATL - bit-OR olarak PDO::P ARAM_STR olarak uygulanacak yeni bir Unicode dizileri türü
  2. PDO::P ARAM_STR_CHAR - Unicode dışı dizileri için yeni bir tür, PDO::P ARAM_STR'ye bit-OR olarak uygulanacak
  3. PDO::ATTR_DEFAULT_STR_PARAM - varsayılan olarak bitwise-RAD veya PDO::P:P ARAM_STR_STR olarak PDO::P ARAM_STR_CHAR olarak veya bitli olarak PDO:ARAM_STR olarak değer göstermek üzere ayarlanır

5.8.0 sürümünden itibaren bu sabitleri PDO::quote ile kullanabilirsiniz.

Dönüş Değeri

SQL ifadesine iletilabilen alıntılı bir dizi veya başarısız olursa false ileti.

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.

Dizi kaçış örneği

<?php  
$database = "test";  
$server = "(local)";  
$conn = new PDO( "sqlsrv:server=$server ; Database = $database", "", "");  
  
$param = 'a \' g';  
$param2 = $conn->quote( $param );  
  
$query = "INSERT INTO Table1 VALUES( ?, '1' )";  
$stmt = $conn->prepare( $query );  
$stmt->execute(array($param));  
  
$query = "INSERT INTO Table1 VALUES( ?, ? )";  
$stmt = $conn->prepare( $query );  
$stmt->execute(array($param, $param2));  
?>  

PDO alıntı örneği

Aşağıdaki betik, genişletilmiş dizi tiplerinin PDO::quote() ile PHP 7.2+ ile nasıl etkilediğine dair birkaç örnek göstermektedir.

<?php
$database = "test";
$server = "(local)";
$db = new PDO("sqlsrv:server=$server; Database=$database", "", "");

$db->quote('über', PDO::PARAM_STR | PDO::PARAM_STR_NATL); // N'über'
$db->quote('foo'); // 'foo'

$db->setAttribute(PDO::ATTR_DEFAULT_STR_PARAM, PDO::PARAM_STR_NATL);
$db->quote('über'); // N'über'
$db->quote('foo', PDO::PARAM_STR | PDO::PARAM_STR_CHAR); // 'foo'
?>