PHP Conference China 2020

PDO::quote

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.1)

PDO::quoteBir sorguda kullanılmak üzere bir dizgeyi önceler

Açıklama

PDO::quote ( string $dizge [, int $değiştirge_türü = PDO::PARAM_STR ] ) : string

Girdi dizgesine gerekiyorsa ilgili veritabanı sürücüsüne uygun bir önceleme uygular.

Bu işlevi SQL deyimlerini oluştururken kullanıyorsanız, kullanıcı girdisini bir SQL deyimi haline getirmek için PDO::quote() yerine PDO::prepare() ile değiştirgeleri ilişkilendirilmiş SQL deyimleri hazırlamanızı hararetle öneririz. Değiştirgelerle ilişkilendirimiş hazır deyimler taşınabilir olmaktan başka daha kullanışlı ve SQL zerkine bağışık olmanın yanında sorgunun derlenmiş hali hem sunucuda hem de istemcide bulunduğundan yorumlanan sorgulardan çok daha hızlıdır.

PDO sürücülerinin hepsi bu yöntemi gerçeklemez. (özellikle PDO_ODBC) Bu bakımdan hazır deyimleri kullanmaya hazır olmalısınız.

Değiştirgeler

dizge

Öncelenecek dizge.

değiştirge_türü

İkincil bir önceleme tarzına sahip sürücüler için ipucu olarak bir veri türü belirtilir. PDO::PARAM_STR öntanımlıdır.

Dönen Değerler

Bir SQL deyiminde aktarılmak üzere teorik olarak güvenli kabul edilen bir öncelenmiş dizge döndürür. Eğer sürücü bu tarz öncelemeyi desteklemiyorsa FALSE döner.

Örnekler

Örnek 1 - Normal bir dizgeyi öncelemek

<?php
$conn 
= new PDO('sqlite:/home/lynn/music.sql3');

/*Basit dizge */
$string 'Basit';
print 
"Öncelenmemiş dizge: $string\n";
print 
"Öncelenmiş dizge: " $conn->quote($string) . "\n";
?>

Yukarıdaki örneğin çıktısı:

Öncelenmemiş dizge: Basit
Öncelenmiş dizge: 'Basit'

Örnek 2 - Tehlikeli bir dizgeyi öncelemek

<?php
$conn 
= new PDO('sqlite:/home/lynn/music.sql3');

/* Tehlikeli dizge */
$string 'Münasebetsiz \' dizge';
print 
"Öncelenmemiş dizge: $string\n";
print 
"Öncelenmiş dizge:" $conn->quote($string) . "\n";
?>

Yukarıdaki örneğin çıktısı:

Öncelenmemiş dizge: Münasebetsiz ' dizge
Öncelenmiş dizge: 'Münasebetsiz '' dizge'

Örnek 3 - Karmaşık bir dizgeyi öncelemek

<?php
$conn 
= new PDO('sqlite:/home/lynn/music.sql3');

/* Karmaşık dizge */
$string "Co'mpl''ex \"st'\"ring";
print 
"Öncelenmemiş dizge: $string\n";
print 
"Öncelenmiş dizge:" $conn->quote($string) . "\n";
?>

Yukarıdaki örneğin çıktısı:

Öncelenmemiş dizge: Co'mpl''ex "st'"ring
Öncelenmiş dizge: 'Co''mpl''''ex "st''"ring'

Ayrıca Bakınız

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top