php - 如何在codeigniter中获取多个插入的id

标签 php mysql ajax codeigniter fullcalendar

我正在编写一个 Codeigniter 脚本,其中使用 foreach 插入了多行。我想获取所有最后插入的 id。

这是我的代码:

public function savePickupDataModal($dates, $pickData) {
    foreach ($dates['dates'] as $date) {
        $sql = 'INSERT INTO pickupManagement (dates, readyhour, readymint, readyformat, latesthour, latestmint, latestformat, approxVal, otherComment) ' .
                    'VALUES("' . $date . '","' . $pickData['readyhour'] . '","' . $pickData['readymint'] . '","' . $pickData['readyformat'] . '","' . $pickData['latesthour'] . '","' . $pickData['latestmint'] . '","' . $pickData['latestformat'] . '","' . $pickData['approxVal'] . '","' . $pickData['otherComment'] . '")';
        $query = $this->db->query($sql);
        if ($this->db->affected_rows() > 0) {
            return true;
        } else {
            return false;
        }
    }
}

这里的日期数组包含任意数量的日期,例如 3、4 或 5,因此将执行插入查询,直到数组包含日期数量。

如何获取所有最后插入的记录 ID?

最佳答案

在您的情况下,您实际上正在执行多个独立查询,因此您可以获取最后一个 id 并将其一遍又一遍地插入数组中。

$affected_ids = array();
foreach(....

    $query = .....
    if($this->db->affected_rows() > 0)
        $affected_ids[] = $this->db->insert_id();

}
echo '<pre>', print_r($affected_ids),'</pre>';

这里似乎没有必要实际返回 true 或 false。

关于php - 如何在codeigniter中获取多个插入的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33788704/

相关文章:

php - Facebook Graph API 停止识别 publish_action 范围

MySQL GROUP BY 函数有时会奇怪地跳过

php - 尝试从数据库 jquery 检索用户名

javascript - ajax - Google 缓存版本不显示文本

asp.net - 在哪里可以找到或复制产生 HttpRequestValidationException 的代码

javascript - 收到 Strope.js 通知(正在撰写)

php - Laravel 自定义验证规则

php - 如何解决这个模棱两可的问题?

php - jQuery 自动完成与 MySQL 和 PHP 结果不显示

php - 如何使用 jquery/ajax 编辑表列数据并保存到 mysql