我有一个PDO prepared语句,它试图将四个条目插入到一个MySQL表中。其中三个项目是字符串,可以很好地插入。第四个是(在MySQL中)一个长度为3的整数。
$code = 200;然后,它与其他参数一起通过预准备语句插入:
$stmt = $this->db->prepare('INSERT INTO table (value1,value2,value3,code) VALUES (:value1,:value2,:value3,:code)');
....(three bindValues for the other items)
$stmt->bindValue(':code', (int) $code, PDO::PARAM_INT);
$stmt->execute();无论我怎么尝试,在执行insert语句时,数据库中的值都是127,而不是200。
我几乎尝试了我想到的每一种类型,但它顽固地拒绝进入数据库作为200。有什么建议吗?
发布于 2016-08-15 21:50:29
您有列类型tinyint。您可以使用以下查询更改列类型:
ALTER TABLE tablename MODIFY columnname INTEGER;发布于 2016-08-15 21:49:54
我想你声明你的表是错的。127是tinyint的最大值,所以它可能是您的“整数”是tinyinteger。
因此,请编辑您的数据库。
https://stackoverflow.com/questions/38956203
复制相似问题