$db->execute('insert into `sms`(`phone`, `code`, `times`, `effect`) values (:phone, :code, :times, :effect) ON DUPLICATE KEY UPDATE `phone`=:phone, `code`=:code, `times`=:times, `effect`=:effect',
['phone' => [$phone, 2], 'code' => [$code, 1], 'times' => [time(), 1], 'effect' => [$effect, 2]]);下面使用?的sql执行没问题$db->execute('insert into `sms`(`phone`, `code`, `times`, `effect`) values (?, ?, ?, ?) ON DUPLICATE KEY UPDATE `phone`=?, `code`=?, `times`=?, `effect`=?',
[[$phone, 2], [$code, 1], [time(), 1], [$effect, 2], [$phone, 2], [$code, 1], [time(), 1], [$effect, 2]]);错误信息:'SQLSTATE[HY093]: Invalid parameter number' 最佳答案