mysql - 从数据库中获取一行,从行中删除一个元素并将该行更新回数据库

标签 mysql arrays codeigniter activerecord

我想从数据库中获取一行,从行中删除一个元素并将该行更新回数据库。

这段代码是我写的

$query = $this->db->get_where(TABLENAME, array('pin_code' => $pincode), 1);

$result = $query->result_array();

$array = $result[0]; 

if (($key = array_search($ccode, $array)) !== false) {
            unset($array[$key]);
} //$code is the value which i want to remove

$this->db->where('pin_code', $pincode);
$this->db->update(TABLENAME, $array); 

这是一行

Array ( [pin_code] => 854101 [ccode_1] => 5806 [ccode_2] => [ccode_3] => [ccode_4] => [ccode_5] => [ccode_6] => [ccode_7] => [ccode_8] => [ccode_9] => [ccode_10] => [ccode_11] => [ccode_12] => [ccode_13] => [ccode_14] => [ccode_15] => [ccode_16] => [ccode_17] => [ccode_18] => [ccode_19] => [ccode_20] => [ccode_21] => [ccode_22] => [ccode_23] => [ccode_24] => [ccode_25] => [ccode_26] => [ccode_27] => [ccode_28] => [ccode_29] => [ccode_30] => ) 

我只想删除 ccode_1(这不是固定的,取决于 $ccode 值)值并将其更新回 db。

但它没有显示如上所示的预期结果。

最佳答案

您不需要取消设置所需的索引,只需获取该索引并应用更新

if (($key = array_search($ccode, $array)) !== false) {
$this->db->where('pin_code', $pincode);
$this->db->update(TABLENAME, array($key => ''));
} 

关于mysql - 从数据库中获取一行,从行中删除一个元素并将该行更新回数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29047586/

相关文章:

c++ - Mysql connector/C++ for windows 2010 express 不编译

MySQL:仅复制外键

php - mysqli (multi)_query - 如何在循环中执行和执行?

javascript - 将 id 从单击的 div 推送到我的数组中

JavaScript - 对数组

python - 如何在django模型中用 `id`作为主键覆盖 `timestamp`作为主键?

Java Generic Primitive 类型 n-d 数组

php - 查找给定 IP 是否存在于 CIDR 中

php - Codeigniter 无法在 IIS 中运行

javascript - 如何编辑数据表按钮的位置?