php - 快速检查或添加到数据库

标签 php mysql codeigniter codeigniter-2

我正在使用 apache、php、mysql 和 code igniter,并且设置了一个数据库。在数据库中,我有两列在组合中都需要唯一:纬度和经度。

所以我使用此调用设置数据库:

alter table pano_raw add unique index(lat, lng)

现在,当我将值插入两列(纬度和经度)时,如果值相同,数据库应该拒绝写入,正确吗?

function addNewSet($data)
{
    $this->db->insert('sets', $data);
}

这个函数应该返回 true 或 false,具体取决于读取成功还是写入正确?

那么现在我该如何更改它,以便它何时返回插入记录的 row_id 或返回 FALSE?如果写入有效,我需要 row_id,如果没有,我需要 FALSE,以便我可以更改调用此函数的代码。

这行得通吗?我不这么认为。有想法吗?

function addNewSet($data)
{
    $this->db->insert('sets', $data);
    return $this->db->insert_id();
}

最佳答案

默认情况下不会返回 false,在返回 false 之前会出现数据库错误。

如果你真的想要这个,你需要去 application/config/database.php 并将其设置为 false $db['default']['db_debug'] =假;

那么您应该能够执行此操作(假设您的表有一个设置为自动增量的 id 字段)

 function addNewSet($data) {
     if ($this->db->insert('sets', $data)) {
          return $this->db->insert_id(); 
     } else {
          return FALSE;
     }
 }

关于php - 快速检查或添加到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5456099/

相关文章:

php - Google Cloud - Yii2 Web 进程无法写入目录 |前端/网络/ Assets

过去 24 小时内最受欢迎的 PHP MySQL 查询

php - 通过 PHP 将 MySQL 记录发送到 iOS

php - CodeIgniter:从数据库(表)填充表(HTML/表单)

php - 子目录中的 CodeIgniter 站点,htaccess 文件可能会干扰主目录中的 htaccess 文件?

codeigniter - 如何在CodeIgniter中获取表的最后一条记录?

php - 无法在屏幕上输出缩略图 我得到一个干净的白色屏幕,左上角有一个小破损的图像

php - 蛋糕PHP : Update an Array object with equivalent column value in a table

android - Sqlite 还是共享首选项更适合使用 MPAndroid 库以每日、每周、每月为基础获取数据?

MySQL - 在 "normal"连接不可能时显示/计数连接记录