2012-08-31 41 views
5

我不明白PDO PARAM_*語句中的長度選項。PDO PARAM_STR和長度

長度是指示所需字符的數量,還是最大值?

實施例:

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

這是否需要12個字符,或此將其限制爲12個字符?或者,我完全誤解了這是在做什麼?

+0

本手冊中哪些部分的描述很難讓您理解具體的內容? *「** length ** - 數據類型的長度。要指示參數是存儲過程中的OUT參數,您必須明確設置長度。」* - http://php.net/manual/en/ pdostatement.bindparam.php – hakre

+1

@hakra - 是否限制爲12個字符,或者是否需要12個字符。 –

+0

對此Q的後續處理是_characters_或_bytes_中的長度?我找不到任何區分這兩者的東西。顯然,只有在使用多字節字符時才重要,這正是我需要知道的原因。我傾向於假定字節,因爲字節太大的值看起來比可能截斷的太短的基於字符的值更安全。 – ashnazg

回答

5

這表示您希望在輸出參數中接收多少數據,服務器不會發送更多的數據。

所以,要回答你的問題,這是一個限制,而不是一個要求。