Laravel 在 MySQL5.1 下运行出错 ,错误如下:
SQLSTATE[HY000]: General error: 1366 Incorrect integer value: ''1'' for column 'status' at row 1 (SQL: insert into `cases` (`case_name`, `status`, `updated_at`, `created_at`) values ('fdsafdsadsa', '1', 1474504956, 1474504956))
但是自己写的PDO执行测试却没有问题
try {
$sth = $db->prepare('insert into cases(case_name,status,updated_at,created_at) values (?,?,?,?)');
$sth->bindValue(1, '我也是中文', PDO::PARAM_STR);
$sth->bindValue(2, '1', PDO::PARAM_INT);
$sth->bindValue(3, time(), PDO::PARAM_INT);
$sth->bindValue(4, time(), PDO::PARAM_INT);
$sth->execute();
} catch (\Exception $e)
{
echo $e->getMessage();
}
数据表结构:
也在网上查询了说是更改SQL_MODE也更改过了,依然报错
问题已解决是加了Shell过滤导致的双重引号问题
回复内容:
Laravel 在 MySQL5.1 下运行出错 ,错误如下:
SQLSTATE[HY000]: General error: 1366 Incorrect integer value: ''1'' for column 'status' at row 1 (SQL: insert into `cases` (`case_name`, `status`, `updated_at`, `created_at`) values ('fdsafdsadsa', '1', 1474504956, 1474504956))
但是自己写的PDO执行测试却没有问题
try {
$sth = $db->prepare('insert into cases(case_name,status,updated_at,created_at) values (?,?,?,?)');
$sth->bindValue(1, '我也是中文', PDO::PARAM_STR);
$sth->bindValue(2, '1', PDO::PARAM_INT);
$sth->bindValue(3, time(), PDO::PARAM_INT);
$sth->bindValue(4, time(), PDO::PARAM_INT);
$sth->execute();
} catch (\Exception $e)
{
echo $e->getMessage();
}
数据表结构:
也在网上查询了说是更改SQL_MODE也更改过了,依然报错
问题已解决是加了Shell过滤导致的双重引号问题
本文原创发布php中文网,转载请注明出处,感谢您的尊重!