0

そのため、投稿を削除し、値を「removed_post」という名前のテーブルに挿入する関数を作成しようとしています。今、私はエラーが発生します:

No tables used
SELECT *
Line Number: 330

これは何が原因ですか?私はそれをたくさんグーグルで検索し、さまざまな「答え」を試しましたが、成功しませんでした。

これが私のコードです:

class Remove extends CI_Controller {


function post($id = null) {

$this->db->get_where('comments', array('id' => $id));
$query = $this->db->get();
$data = array(
'amne_id' => $query->row()->amne_id,
'user_id' => $query->row()->user_id,
'date_created' => $query->row()->date,
            );
 $this->db->insert('removed_post', $data);
 $this->db->delete('comments', array('id' => $id));
 redirect('/');
}

編集:はい、コードは最適化されていません。

4

1 に答える 1

1
$this->db->get_where('comments', array('id' => $id));
$query = $this->db->get();

次のようにする必要があります。

$query = $this->db->get_where('comments', array('id' => $id));

あなたのコードでは、最初のクエリが実行されますが、結果を取得していません。2 行目は、空のクエリの結果をキャプチャしようとします。get_where()を呼び出すget()ので、明示的に呼び出す必要はありません。

新しいエラー

$row = $query->row();
$data = array(
  'amne_id' => $row->amne_id,
  'user_id' => $row->user_id,
  'date_created' => $row->date,
);
于 2012-12-02T23:55:24.843 に答える