[我正在尝试编写查询以插入/更新表,这是我第一次使用预准备语句,但收到错误SQLSTATE[HY093]: Invalid parameter number
,但从我看到的结果来看,我正在传递所需的所有列/值。
((我试图在不使用示例#2 bindParam
的情况下使用here来做到这一点] >>
目前这只是一个测试,我计划在实际运行查询后使其动态化。
$data_test = [
':event_id' => 3354,
':event' => 'TESTESTEST',
':staff_booking_id' => 27255,
':is_read' => 'yes',
':priority' => 'medium'
];
$q = "INSERT INTO events(event_id, event, staff_booking_id, is_read, priority)
VALUES(:event_id, :event, :staff_booking_id, :is_read, :priority)
ON DUPLICATE KEY UPDATE event_id = LAST_INSERT_ID(:event_id), event = :event, staff_booking_id = :staff_booking_id, is_read = :is_read, priority = :priority;";
$result = $this->db->prepare($q);
$result = $result->execute($data_test);
[我正在尝试编写查询以插入/更新表,这是我第一次使用准备好的语句,但收到的错误消息是SQLSTATE [HY093]:无效的参数号,但是从我的眼中是.. 。
如FunkFortyNiner和tadman所评论,问题可能出在您重复使用同一占位符这一事实。