** PDO::quote

PHP-illesztőprogram letöltése

Feldolgozza a lekérdezéshez használt stringet úgy, hogy idézőjeleket helyez el a bemeneti string köré, ahogy azt az alapul szolgáló SQL Server adatbázis megköveteli. PDO::quote speciális karaktereket fog kihagyni a bemeneti stringben egy idézőidézetstílusban, amely az SQL Server-hez ill.

Syntax

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

Paraméterek

$ String: A zsinór, idézés.

$ parameter_type: Egy opcionális (egész szám) szimbólum, amely az adattípust jelzi. Az alapértelmezett a PDO::P ARAM_STR.

Új PDO állandókat vezettek be a PHP 7.2-ben, hogy támogatják a Unicode és a nem Unicode stringek kötését. Az Unicode stringeket idézőjelekkel lehet körülvenni, amelyen N előtag (azaz N'string' a 'string' helyett).

  1. PDO::P ARAM_STR_NATL - egy új típus Unicode stringekhez, amelyet bitenkénti OR formátumban alkalmaznak a PDO::P ARAM_STR-re
  2. PDO::P ARAM_STR_CHAR – egy új típus nem Unicode stringekhez, amelyet bitenkénti OR formátumban alkalmaznak PDO::P ARAM_STR
  3. PDO::ATTR_DEFAULT_STR_PARAM - állítsuk be PDO::P ARAM_STR_NATL vagy PDO::P ARAM_STR_CHAR értékre, hogy bitenként vagy alapértelmezetten PDO::P ARAM_STR értéket jelölj

Az 5.8.0-tól kezdve ezeket a konstansokat használhatod a PDO::quote-val.

Visszaadott érték

Egy idézetes string, amely átadható SQL utasításnak, vagy hamis, ha hiba.

Remarks

A PDO támogatását a Microsoft Drivers for PHP for SQL Server 2.0-s verziójában adták hozzá.

String escape példa

<?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 idézet példa

Az alábbi szkript néhány példát mutat arra, hogyan befolyásolják a kiterjesztett stringtípusok a PDO::quote() PHP 7.2+ esetén.

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