1

我正在使用 codeigniter 将数据插入数据库。但它一直给我以下错误

Unknown column 'Array' in 'field list'</p><p>INSERT INTO `profile` (`loginid`, `name`, `email`, `gender`, `birthday`, `profilePhoto`, `date`) VALUES (Array, 'Zafar Khan', 'xafar@demo.com', 'male', '20.01.1987', '', '2012/11/19')

Filename: /Applications/XAMPP/xamppfiles/htdocs/membership_system/models/model_register.php</p><p>Line Number: 48

这是发生此错误的代码

public function saveUserProfile() {
    $userId = $this->readUserId();

    $profile = array(
            'loginid'       => $userId,
            'name'          => $this->input->post('name'),
            'email'         => $this->input->post('email'),
            'gender'        => $this->input->post('gender'),
            'birthday'      => $this->input->post('birthday'),
            'profilePhoto'  => '',
            'date'          => date("Y/m/d")
        );

    $query = $this->db->insert('profile', $profile);

    if ($query) {
        return true;
    } else {
        return false;
    }
}

更新

这是 readUserId 函数

private function readUserId() {
    $this->db->select('id'); 
    $this->db->from('login');   
    $this->db->where('email', $this->input->post('email'));

    return $this->db->get()->result();
}

更新 2

这是我的 var_dump 输出

array(1) {  [0]=>  object(stdClass)#18 (1) {    ["id"]=>    string(2) "14"  } }
4

4 回答 4

4

的值$userId导致将未引用Array的值输入到被视为列引用的值中。

于 2012-11-19T12:19:12.373 回答
2

似乎$this->readUserId()返回一个数组。你能试试reset($this->readUserId());吗?把它放在初始化 $profile 之前。

要不就

echo var_dump( $this->readUserId() );

die();

..这样我们就可以看到你的变量里面有什么。

==> 编辑:

$profile 必须变成类似

$profile = array(
            'loginid'       => $userId['id'],
            'name'          => $this->input->post('name'),
            'email'         => $this->input->post('email'),
            'gender'        => $this->input->post('gender'),
            'birthday'      => $this->input->post('birthday'),
            'profilePhoto'  => '',
            'date'          => date("Y/m/d")
        );

==> 编辑 2:

好的,那你可以添加

$userId = $userId[0]->id;

在 $profile 变量初始化之前。

于 2012-11-19T12:20:08.937 回答
0

问题似乎出在 $this->readUserId() 中,它返回一个数组而不是一个标量。请检查一下。

于 2012-11-19T12:22:26.833 回答
0

您的“用户 ID”字段是一个数组。您的帖子中还有另一个“用户 ID”。在您的视图文件中查找重复的名称。

于 2012-11-19T12:20:13.727 回答