codeigniter 如何在PHP中基于数组解决这个问题?

0vvn1miw  于 5个月前  发布在  PHP
关注(0)|答案(2)|浏览(61)

我得到这个错误:尝试读取属性“id”数组文件名:controller/patient.php行352
我刚刚修改了把整个代码进一步澄清这是代码:

$username = $this->input->post('name');

            if (empty($id)) {     // Adding New Patient
                if ($this->ion_auth->email_check($email)) {
                    $this->session->set_flashdata('feedback', 'Cette adresse email est déjà enregistré dans la base données');
                    redirect('patient/addNewView');
                } else {
                    $dfg = 5;
                    $this->ion_auth->register($username, $password, $email, $dfg);
//                    $ion_user_id=this->db-get_where('users', array('email'=> $email))->row()['id'];
//                    $ion_user_id = $this->db->get_where('users', array('email' => $email))->row()['id'];
                    $ion_user_id = $this->db->get_where('users', array('email' => $email))->row()->id;
                    if ($ion_user_id) {
                        $ion_user_id = $ion_user_id->row()->id;
                    }
                    $this->patient_model->insertPatient($data);
                    $patient_user_id = $this->db->get_where('pa;tient', array('email' => $email))->row()->id;
                    $id_info = array('ion_user_id' => $ion_user_id);
                    $this->patient_model->updatePatient($patient_user_id, $id_info);
                    $this->hospital_model->addHospitalIdToIonUser($ion_user_id, $this->hospital_id);

                    if (!empty($sms)) {
                        $this->sms->sendSmsDuringPatientRegistration($patient_user_id);
                    }

                    $this->session->set_flashdata('feedback', 'Ajouté');
                }
                //    }
            } else { // Updating Patient
                $ion_user_id = $this->db->get_where('patient', array('id' => $id))->row()->ion_user_id;
                if (empty($password)) {
                    $password = $this->db->get_where('users', array('id' => $ion_user_id))->row()->password;
                } else {
                    $password = $this->ion_auth_model->hash_password($password);
                }
                $this->patient_model->updateIonUser($username, $email, $password, $ion_user_id);
                $this->patient_model->updatePatient($id, $data);
                $this->session->set_flashdata('feedback', 'Modifié');
            }
            // Loading View
            if (!empty($redirect)) {
                redirect('finance/addPaymentView');
            } else {
                redirect('patient');
            }
        }
    }

字符串
我想知道我该怎么解决这个问题

dsekswqp

dsekswqp1#

如果您遇到以下问题:

$ion_user_id=this->db-get_where('users', array('email'=> $email))->row()->id;

字符串
首先确认你得到的“row()”不是空的,因此在验证这个不是空的之后,检查你得到的“row()”是“stdObject”,如果它是stdObject,那么如果它不是对象,那么就可以尝试

$ion_user_id=this->db-get_where('users', array('email'=> $email))->row()['id'];

cnjp1d6j

cnjp1d6j2#

请提到错误的完整代码,以便任何人都可以理解这个问题,并可以回答我的知识,你想在你的代码的第一行访问是id是常数,如果不是,那么它将主要是变量,如果变量,然后使用**$id**,所以首先修改代码的第一行,

if(empty(id)){

字符串

if(empty($id)){


如果你在最后一行遇到错误,那么首先检查**$ion_user_id**,因为如果你没有得到任何结果,那么它会返回false

$ion_user_id=$this->db-get_where('users', array('email'=> $email))->row()->id;
if($ion_user_id){
 $ion_user_id=$ion_user_id->row()->id;
}

相关问题