-2

大学のプロジェクトで取り組んでいるソーシャルネットワーキングサイトの画像ギャラリーを作成しようとしていますが、データベースに「ユーザー名」フィールドを入力できないようです。galleryimageフィールドは正常に入力されますが、ユーザー名フィールドには「0」と表示されます。「ギャラリー」テーブルに3つのフィールド(id、username、galleryimage)があります。CodeIgniterフレームワークでMVCを使用しています。ActiveRecordコードに問題があるようです。どんな助けでも大歓迎です。

これが私のモデルのget/set関数です。

        private $galleryTable = 'gallery';

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

putProfileGalleryは、データベースのギャラリーテーブルにデータを入力します。

         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;
          }
         }
4

2 に答える 2

1

whereとを組み合わせることはできませんinsert

$this->db->where('username', $username)->insert('gallery', $record);だけである必要があります$this->db->insert('gallery', $record);

update行を更新する場合に使用する必要があります。

于 2012-12-23T00:16:50.423 に答える
0

$ usernameが正しい値であることを確認するために、挿入関数を呼び出す前にこれを実行してみましたか?

var_dump ($username);

それに加えて、insert()の前にwhere()があるようですが、これは正しくないようです。

于 2012-12-23T00:03:08.483 に答える