2

こんにちは、codeigniter のフォームから更新クエリを実行する際に問題が発生しました。エラーは返されませんが、クエリはデータベースで更新されません。同じページに別のフォームがあり、正常に機能する挿入クエリを実行していることに注意してください。

意見:

            <?php
                $modify = array(
                    'id' => 'modify-form', 
                    'class' => ''                       
                );
                echo form_open('main/modify_idea', $modify); 
                $ta_modify = array(
                    'id' => $row->id,
                    'name' => 'ta_modify', 
                    'label' => 'ta_modify', 
                    'placeholder' => $row->idea, 
                    'method' => 'Post'
                ); 
                echo form_textarea($ta_modify); 
                echo form_hidden('facebook_id', $session['id']);
                echo "<div id='button'>"; 
                echo form_submit('submit', 'Post'); 
                echo "</div>";
                echo form_close(); 
            ?>

コントローラ:

public function modify_idea() {
    $this->load->model('idea'); 
    $this->idea->modify_idea(); 
    redirect('main/members'); 
}

モデル:

public function modify_idea() {
    $data = array( 
        'id' => $this->input->post('id'), 
        'idea' => $this->input->post('ta_modify'), 
        'facebook_id' => $this->input->post('facebook_id')
    );

    $query = $this->db->query("UPDATE idea SET `idea` = ? WHERE `id` =?", array($data['idea'], $data['id'])); 
    return $query; 
}

次のリソースを利用しましたが、まだうまくいきません:
CodeIgniter MySQL query not working

CodeIgniter MySQL クエリは、返されるデータが確実にあるにもかかわらず、データを返さない!

http://www.tutorialspoint.com/mysql/mysql-update-query.htm
https://www.codeigniter.com/userguide3/database/query_builder.html#deleting-data

いつものように、助けてくれてありがとう!

4

2 に答える 2

0

コントローラーからモデルに投稿データを渡す

コントローラーのコードを変更します。

public function modify_idea() {
    $this->load->model('idea');
     $data = array( 
        'id' => $this->input->post('id'), 
        'idea' => $this->input->post('ta_modify'), 
        'facebook_id' => $this->input->post('facebook_id')
    );
    $this->idea->modify_idea($data); 
    redirect('main/members'); 
}

モデルでこれを行う

public function modify_idea($data) {
   $query = $this->db->query("UPDATE idea SET `idea` = ? WHERE `id` =?",  
                           array($data['idea'], $data['id'])); 
   return $query; 
}
于 2013-02-12T05:53:53.093 に答える