PDO integer converting integer on INSERT statement

Giles Bennett

I've got a PDO prepared statement which is trying to insert four items into a MySQL table. Three of the items are strings and are being inserted fine. The fourth is (in MySQL) an INT of length 3. In the PHP script the value is being declared as an integer :

$code = 200;

Then it along with the other parameters are being inserted via a prepared statement :

$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();

No matter what I try, though, whilst the insert statement is executed, within the database the value is coming out as 127, not 200.

I've tried pretty much every variety I think of, but it stubbornly refuses to go into the database as 200. Any suggestions?

Daan

You have the column type tinyint. You can change the column type with the following query:

ALTER TABLE tablename MODIFY columnname INTEGER;

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related