我可能说错了。 使用php程序,把数据插入数据库时,报错:Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in test.php错误SQL主表插入语句:insert into ......-------------------- 把这条insert语句复制下来(使用查看页面源代码的方法)后在microsoft sql server management studio运行,可以运行成功。 请问,这个是php的问题吗?
no parameters were bound in test.php 插入语句的参数有问题?代码是怎么写的?
char 和 varchar 1~8000
int -2^31 (-2,147,483,648)~2^31-1 (2,147,483,647)
tinyint 0~255
nchar 和 nvarchar 1~4000
bit 0 or 1
.....
char固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。varchar可变长度的非 Unicode 数据,最长为 8,000 个字符。text可变长度的非 Unicode 数据,最大长度为 2^31 - 1 (2,147,483,647) 个字符。Unicode 字符串
nchar固定长度的 Unicode 数据,最大长度为 4,000 个字符。nvarchar可变长度 Unicode 数据,其最大长度为 4,000 字符。sysname 是系统提供用户定义的数据类型,在功能上等同于 nvarchar(128),用于引用数据库对象名。ntext可变长度 Unicode 数据,其最大长度为 2^30 - 1 (1,073,741,823) 个字符。二进制字符串
binary固定长度的二进制数据,其最大长度为 8,000 个字节。varbinary可变长度的二进制数据,其最大长度为 8,000 个字节。image可变长度的二进制数据,其最大长度为 2^31 - 1 (2,147,483,647) 个字节。
你的col1要更新的内容超过了
数据库中col1定义类型的最大值
所以报错你把col1的字符串改大
应该是不超过col1的最大限制的,为什么还会报这样的错误 ?
3楼说的字符,是指字节还是--一个汉字也是一个字符?
赋值粘贴到记事本
然后把记事本的信息
在粘贴到sql语句中
看看
使用php程序,把数据插入数据库时,报错:Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: Invalid parameter number: no parameters were bound in test.php错误SQL主表插入语句:insert into ......--------------------
把这条insert语句复制下来(使用查看页面源代码的方法)后在microsoft sql server management studio运行,可以运行成功。
请问,这个是php的问题吗?
插入语句的参数有问题?代码是怎么写的?
$rStmt=$this->db->prepare($sSql);
$rStmt->execute();
如3楼说的,我的字段长度不会对那条要插入的数据有影响啊
类型是不限制的呀,是可以更新的
是pdo的问题
重新配置了pdo,可以取更长的字符串
把列由text改为varchar(max),再把内容复制到这个字段里,回车,ok