PDO::quote

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

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

Açıklama

public PDO::quote(string $dizge, int $tür = PDO::PARAM_STR): string|false

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.

Dikkat

Güvenlik: Öntanımlı karakter kümesi

Karakter kümesi, PDO::quote()'u etkilemesi için ya sunucu seviyesinde ya da (sürücüye bağlı olarak) veritabanı bağlantısının kendisinde ayarlanmalıdır. Daha fazla bilgi için sürücüye özel belgelere bakılabilir.

Değiştirgeler

dizge

Öncelenecek dizge.

tür

İkincil bir önceleme tarzına sahip sürücüler için ipucu olarak bir veri türü belirtilir.

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