(PHP 5 >= 5.1.0, PECL pdo >= 0.2.1)
PDO::quote — Bir sorguda kullanılmak üzere bir dizgeyi önceler
$dizge
[, int $değiştirge_türü
= PDO::PARAM_STR
] )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.
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.
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.
Ö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'