laravel 在 mysql5.1 下运行出错 ,错误如下:
<code>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))
</code>但是自己写的PDO执行测试却没有问题
<code>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();
}</code>数据表结构:
也在网上查询了说是更改SQL_MODE也更改过了,依然报错
问题已解决是加了Shell过滤导致的双重引号问题
laravel 在 mysql5.1 下运行出错 ,错误如下:
<code>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))
</code>但是自己写的PDO执行测试却没有问题
<code>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();
}</code>数据表结构:
也在网上查询了说是更改SQL_MODE也更改过了,依然报错
问题已解决是加了Shell过滤导致的双重引号问题
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号