下面的“用户名”字段未在我的Mysql数据库中填充

时间:2012-12-22 23:46:25

标签: php mysql codeigniter activerecord

我正在尝试为我正在为大学项目工作的社交网站创建一个图片库,但我似乎无法在我的数据库中填充“用户名”字段。 galleryimage字段填充正常,但用户名字段只显示“0”。我的“gallery”表中有3个字段(id,username和galleryimage)。我正在使用带有CodeIgniter框架的MVC。似乎是我的Active Record代码的问题。任何帮助将不胜感激。

以下是我模型中的get / set函数:

        private $galleryTable = 'gallery';

          function Gallery()
          {
            parent::__construct();
          }

putProfileGallery填充我数据库中的gallery表。

         function putProfileGallery($username, $image)
          {
            $record = array('username' => $username, 'galleryimage' => $image);

            $this->db->where('username', $username)->insert('gallery', $record);
          }

getProfileGallery函数循环遍历表,并且应该输出到屏幕。

         function getProfileGallery($username)

          {
            $this->db->select('*')->from('gallery')->where('username', $username);
            $gallerySet = $this->db->get();

            $gallery = array();
            foreach ($gallerySet->result() as $row)
            {       
                $gallery[] = array('username' => $row->username, 'galleryimage' => $row->galleryimage);
            }
            return $gallery;
          }
         }

2 个答案:

答案 0 :(得分:1)

您无法合并whereinsert

$this->db->where('username', $username)->insert('gallery', $record);应该只有$this->db->insert('gallery', $record);

如果要更新行,则应使用update

答案 1 :(得分:0)

您是否在调用insert函数之前尝试过这样做,以确保$ username具有正确的值

var_dump ($username);

除此之外,我看到你在insert()之前有一个where(),这似乎不正确。