PDOStatement::bindParam 中的 i,d,s,b 有啥区别

Posted

技术标签:

【中文标题】PDOStatement::bindParam 中的 i,d,s,b 有啥区别【英文标题】:What is the difference between i, d, s, b in PDOStatement::bindParamPDOStatement::bindParam 中的 i,d,s,b 有什么区别 【发布时间】:2011-04-14 12:19:30 【问题描述】:

PDOStatement::bindParam 在准备好的语句中支持以下变量:

i = 整数 d = 双倍 s = 字符串 b = blob

我知道如果是i则值应该是数字,如果是s则是字符串,什么是blob和double?

【问题讨论】:

What is a Blob?的可能重复 Difference between float and double的可能重复 【参考方案1】:

"Double" 是双精度浮点数。 “blob”是“二进制大对象”(例如文件)。

【讨论】:

【参考方案2】:

整数 :0 , -10, 20, 50(咳咳,一个整数)

double :0.5, -20.5(又名十进制数)

string :"some text","b" (但对于 mysql 5.0 及早期版本,它仅限于大约 65k 个字符 255 个字符)

blob:二进制信息,无限制,可以是字符串也可以是二进制表示。

【讨论】:

【参考方案3】:

我觉得这样的问题很烦人/懒惰

在 MySQL 的手册中都有描述:

http://dev.mysql.com/doc/refman/5.0/en/blob.html

http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html

这里给出了所有不同数据类型的概述:http://dev.mysql.com/doc/refman/5.0/en/data-types.html

【讨论】:

以上是关于PDOStatement::bindParam 中的 i,d,s,b 有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

传递给 PDOStatement::bindParam() 的参数名称的前导冒号是可选的吗?

传递给 PDOStatement::bindParam() 的参数名称的前导冒号是可选的吗?

PHP扩展PDO MySQL之PDOStatement::bindParam vs bindValue

php之bindValue和bindParam的区别

bindParam 和 bindValue 有啥区别?

ppwjs之前端达人