无法在代码点火器中更新电话号码


Can't Update Phone Number in Codeigniter

我似乎无法更新电话号码,我是Codeigniter的新手,一直在试图弄清楚我做错了什么。

这是我的模型:

function updatePhone($submit_userid, $submit_phone) {
$this->db->where("intMemberID", $submit_userid);
$this->db->update("tblMembers", array(
    "strPhoneNumber" => $submit_phone
));

}

这是我的控制器:

public function updateAccount() {
    $this->load->model('updateModel');
    $this->load->model('userModel');
    $data['userdata'] = $this->session->userdata('userobject');
    $this->form_validation->set_rules('phone', 'Phone', 'required|min_length[8]|max_length[12]|xss_clean');
    if ($this->form_validation->run() == false) {
        $this->load->view('updateView', $data);
    } else {
        $submit_userid = $this->input->post('userid');
        $submit_phone = $this->input->post('phone');
        $this->userModel->updatePhone($submit_userid, $submit_phone);
        redirect('updateController/updateAccount');
    }
}

这是我的观点:

<?php
        echo validation_errors();
        echo form_open('updateController/updateAccount');
        echo '<input type="hidden" name="userid" value=' . $userdata->intMemberID . '/>   <br/>';
        echo "$userdata->strMemberFirstName $userdata->strMemberLastName";
        echo "<br>";
        echo "Phone Number: <input type='text' name='phone' placeholder='$userdata->strPhoneNumber'/>";
        echo '<INPUT type="submit" value="Update" name="submit"/>';
        echo form_close();
        ?>
您可以

尝试此更新语句,即使这不起作用,请检查您正在使用的列类型(varchar 或其他任何列类型及其大小(如果冲突与否(

    <?php
        $data['strPhoneNumber'] = $submit_phone;
        $this->db->where('intMemberID', $submit_userid)->update('tblMembers', $data);
    ?>

从不对数据库执行更新。更新中不需要 select 语句,将表名传递给更新方法。

function getUpdate($submit_userid, $submit_phone) {
    $this->db->where("intMemberID", $submit_userid);
    $this->db->update("tblMembers", array(
        "strPhoneNumber" => $submit_phone
    ));
}

而且你不应该真正调用方法getUpdate,它不是真正的语义,因为你实际上没有得到任何东西。 updatePhone可能是一个更好的名字。

尝试打印出错误

return $this->db->update("tblMembers", array );

var_dump更新电话结果,您将看到表格或其他内容是否存在错误

确保它在重定向之前返回 true

$data = array(
    "strPhoneNumber" => $submit_phone
);
$where = "intMemberID = ".$intMemberID; 
//generate the query string not executing
$str = $this->db->update_string('tblMembers', $data, $where);
echo '<pre>';
echo $str;
die;

将上面的代码放入您的函数中,验证查询字符串