我试图从mysql数据库中的表中选择用户的详细信息,但它无法正常工作。这是我模型中的代码: -
public function getuserdetails()
{
$user_email = $this->input->post('email');
$query_userdetails = $this->db->query("SELECT *
FROM users WHERE email = '$user_email' ");
return $query_userdetails->result_array();
}
这不起作用。但是,如果我将实际的电子邮件ID放在查询而不是$ user_email中,它可以正常工作但不正确,即使用: -
$query_userdetails = $this->db->query("SELECT * FROM users WHERE
email = 'myemail@gmail.com' ");
在这种情况下,它返回一个结果。我接受结果的控制器代码是: -
$data['details'] = $this->model_userdetails->getuserdetails();
但问题是当我在视图中访问$ details时: -
echo $details['name']."<br />";
它无法识别'姓名'。 name是数据库中存储用户名称的字段。但是,如果我尝试在foreach循环中检索它,它可以工作: -
foreach($details as $udetails)
{
echo $udetails['name']."<br />";
}
答案 0 :(得分:1)
根据codeigniter建议运行查询
$ query_userdetails = $ this-&gt; db-&gt; query(“SELECT * FROM users WHERE email =?”,array($ user_email));
http://ellislab.com/codeigniter/user-guide/database/queries.html搜索查询绑定
答案 1 :(得分:0)
我会尝试:
$query_userdetails = $this->db->query("SELECT * FROM users WHERE email = '". $user_email ."'");
答案 2 :(得分:0)
我已经解决了只有foreach循环可以工作的部分。
如果我们使用row_array而不是返回result_array(),那么对diplay的foreach约束就会消失。
现在我想从电子邮件是$ user_email
的数据库中选择名称答案 3 :(得分:0)
你必须这样写
public function getuserdetails()
{
$user_email = $this->input->post('email');
$this->db->where('email', $user_email)
->get('users')
->result_array();
}
在此之后,您必须像这样写
foreach($details as $udetails)
{
echo $udetails['name']."<br />";
}
答案 4 :(得分:0)
你可以尝试这样:
[CONTROLLER] 的
$data = array();
$data['udetails'] = $this->UserModel->getuserdetails();
$this->load->view('welcome_message',$data);
[MODEL] 的
public function getuserdetails() {
$user_email = 'webmaster';
$userdetails = $this->db->query("SELECT * FROM users WHERE umail = '$user_email' ");
return $userdetails->result();
}
[VIEW] 的
<?php
foreach($udetails as $row)
{
echo($row->uname.'<br/>');
echo($row->uname);
}
?>
答案 5 :(得分:0)
试试这个,它会帮助你。 的模型强>
public function getuserdetails()
{
$user_email = $this->input->post('email');
$this->db->select("*");
$this->db->from('users');
$this->db->where('email',$user_email);
$query = $this->db->get();
$result= $query->result();
}
<强>控制器强>
$data['details'] = $this->model_userdetails->getuserdetails();
查看强>
foreach($details as $detail)
{
echo $detail->name;
echo $detail->email;
}