【问题标题】:insert array into a column in sqldatabase将数组插入到sql数据库的列中
【发布时间】:2014-07-08 03:24:12
【问题描述】:

我正在使用codeigniter,下面是我的数组。如何将数据插入列名为 sibbling_namesibbling_age 的数据库中。

我尝试了一个 CI 教程,但它显示了一个错误,因为 0,1,2 不是 db 中的字段。当然是如何将[0]更改为'sibbling_name'列,将sibblingAge中的[0]更改为'sibbling_age'列?

[sibblingName] => Array
    (
        [0] => Ryan Yaohari
        [1] => Rico Yaohari
        [2] => Rino Yaohari
    )

[sibblingAge] => Array
    (
        [0] => 23
        [1] => 21
        [2] => 19
    )

【问题讨论】:

  • 到目前为止你尝试过什么?你做过哪些有效或无效的事?向我们展示您的相关模型中的代码,您更有可能在这里获得帮助。
  • sibblingNamesibblingAge 是单独的数组吗?
  • 是的 sibblingName 和 sibblingAge 是单独的数组

标签: php mysql arrays codeigniter


【解决方案1】:

根据manual,如果你想要一个插入批处理,你需要使用$this->db->insert_batch();。但在此之前,您需要先正确格式化您的值。 考虑这个例子:

$sibblingName = array('Ryan Yaohari', 'Rico Yaohari', 'Rino Yaohari');
$sibblingAge = array(23, 21, 19);
$insert_values = array();
for($x = 0, $size = count($sibblingName); $x < $size; $x++) {
    $insert_values[$x] = array(
        'sibbling_name' => $sibblingName[$x],
        'sibbling_age' => $sibblingAge[$x],
    );
}
print_r($insert_values);
// format should be something like this:

// Array
// (
//     [0] => Array
//         (
//             [sibbling_name] => Ryan Yaohari
//             [sibbling_age] => 23
//         )
//     [1] => Array
//         (
//             [sibbling_name] => Rico Yaohari
//             [sibbling_age] => 21
//         )
//     [2] => Array
//         (
//             [sibbling_name] => Rino Yaohari
//             [sibbling_age] => 19
//         )
// )

// and of course in the end, use the insert_batch method.
$this->db->insert_batch('mytable', $insert_values);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-21
    • 2019-06-19
    • 1970-01-01
    相关资源
    最近更新 更多