Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Can';t更新Codeigniter中的电话号码_Php_Codeigniter - Fatal编程技术网

Php Can';t更新Codeigniter中的电话号码

Php Can';t更新Codeigniter中的电话号码,php,codeigniter,Php,Codeigniter,我似乎无法更新电话号码,我是Codeigniter的新手,一直在试图找出我做错了什么 这是我的模型: function updatePhone($submit_userid, $submit_phone) { $this->db->where("intMemberID", $submit_userid); $this->db->update("tblMembers", array( "strPhoneNumber" => $submit_phone ));

我似乎无法更新电话号码,我是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();
        ?>

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

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

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

您可以尝试此更新语句,即使这不起作用,请检查您正在使用的列类型(varchar或其他名称,如果冲突或不冲突,请检查其大小)


尝试打印出错误

return $this->db->update("tblMembers", array );
var_转储updatePhone结果,您将看到表中是否有错误或其他错误

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

$data=array(
$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;
“strPhoneNumber”=>$submit\u电话 ); $where=“intMemberID=”.$intMemberID; //生成未执行的查询字符串 $str=$this->db->update_字符串('tblMembers',$data,$where); 回声'; echo$str; 死亡

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

我更改了名称lol。我也更改了函数,但什么都没有…:(我的错误是,您必须添加值作为第二个参数,请参阅更改的代码。尝试回显
$this->db->last_query();
$this->db->受影响的_行();
在查询后查看实际发送到数据库的内容。可以在数据库中更改它,但当页面刷新时,占位符值保持与上一个数字相同;STry
回显“电话号码:”;
$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;