保存到mysql报错: 1292:Truncated incorrect DOUBLE value: 'P170046CY00',
真奇怪,sql语句里面根本没有P170046CY00这个东西。
看了一下sql语句:
UPDATE t_order SET xx='xx' WHERE id=530527879214
等等,id是字符串型的,怎么没带引号呢?
看一下thinkphp代码:
if ($ao->where(['id' => $order['id']])->count()) {
$ao->where(['id' => $order['id']])->save($ao_data);
} else {
$ao->add($ao_data);
}
那就做个强制类型转换,加个(string),问题解决:
if ($ao->where(['id' => (string)$order['id']])->count()) {
$ao->where(['id' => (string)$order['id']])->save($ao_data);
} else {
$ao->add($ao_data);
}