php - Codeigniter 更新查询不适用于表单

标签 php mysql codeigniter sql-delete

大家好,我在通过 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(); 
            ?>

Controller :

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 Query not returning any data, even though there definitely is data to be returned!

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

一如既往,感谢您的帮助!

最佳答案

将您的帖子数据从 Controller 传递到模型

更改您的 Controller 代码:

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

关于php - Codeigniter 更新查询不适用于表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14823970/

相关文章:

php - 简单的 mysql 查询不起作用

php - Chrome 中页面刷新时 MySQL 查询运行两次

php - 简单的 HTML DOM,如何仅回显来自 anchor 文本的文本

php - 在上传文件时显示 undefined index

mysql 创建行到列

mysql - codeigniter 数据库在选择数据时出错

jquery - 如何从 View 中调用 codeigniter Controller 方法

php - 当尝试更新记录时,它给出的值为 0 - codeigniter

php - 在 Woocommerce CSS 之后加载子主题 CSS

javascript - 使用 Jquery Ajax PHP 提交表单