2012-08-31 23 views
5

PDO PARAM_* ifadesindeki uzunluk seçeneğini anlamıyorum.PDO PARAM_STR ve uzunluk

Uzunluk, istenen karakter miktarını gösteriyor mu, yoksa maksimum mu?

Örnek:

$sth->bindParam(2, $color, PDO::PARAM_STR, 12); 

bu 12 karakter gerektiriyor mu, yoksa bu 12 karakter bunu sınırlıyor? Ya da, bunun ne yaptığını tamamen yanlış anlamış mıyım?

+0

Kılavuzdaki açıklamanın hangi bölümü anlaşılması zor? * "** uzunluk ** - Veri tipinin uzunluğu. Bir parametrenin saklı bir prosedürden bir OUT parametresi olduğunu belirtmek için, uzunluğu açıkça ayarlamanız gerekir." * - http://php.net/manual/en/ pdostatement.bindparam.php – hakre

+1

@hakra - 12 karakterle SINIRLIysa veya 12 karakter GEREKTİRİR. –

+0

Bu Q'daki bir takip - _characters_ içindeki uzunluk veya _bytes_? İkisini ayıran hiçbir şey bulamıyorum. Açıkçası, sadece çok baytlı karakterler kullanıyorsanız, bilmem gereken tam olarak bu yüzden önemlidir. Çok büyük tabanlı by-bytes değeri, kesilebilecek karakterlere çok kısa-karakterli bir değerden daha güvenli göründüğünden, baytları varsaymaya yöneliyorum. – ashnazg

cevap

5

Bu, çıkış parametresinde ne kadar veri almak istediğinizin bir göstergesidir, sunucu bundan daha fazlasını göndermez.

Sorunuza cevap vermek için bir gereklilik değil, bir sınırlamadır.