【问题标题】:PDO PARAM_STR and lengthPDO PARAM_STR 和长度
【发布时间】:2012-08-31 21:26:56
【问题描述】:

我不明白PDO PARAM_* 语句中的长度选项。

长度是否表示所需字符的数量,还是最大?

例子:

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

这需要 12 个字符,还是限制为 12 个字符?或者,我是否完全误解了这是在做什么?

【问题讨论】:

  • 手册中的哪部分描述你具体难以理解? "length - 数据类型的长度。要表明参数是来自存储过程的 OUT 参数,您必须显式设置长度。" - php.net/manual/en/pdostatement.bindparam.php
  • @hakra - 是限制为 12 个字符,还是需要 12 个字符。
  • 对这个问题的跟进——长度是 characters 还是 bytes?我找不到任何可以区分两者的东西。显然,只有使用多字节字符才重要,这正是我需要知道的原因。我倾向于假设字节,因为基于字节的过大值似乎比可能截断的基于字符的过短值更安全。

标签: php pdo


【解决方案1】:

在输出参数中表示你希望接收多少数据,服务器不会发送更多。

所以,要回答您的问题,这是限制而不是要求。

【讨论】:

    猜你喜欢
    • 2012-02-12
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多