从数据库获取单个值 - Codeigniter
问题描述:
我试图获得注册用户的名字和姓氏。 这是在模型从数据库获取单个值 - Codeigniter
public function getf()
{
$email = $this->input->post('email');
$this->db->where('email', $this->input->post('email'));
$query = $this->db->get('users');
if($query->num_rows == 1)
{
$row = $query->row();
echo $row->fname;
}
}
public function getl()
{
$this->db->where('email', $this->input->post('email'));
$query = $this->db->get('users');
if($query->num_rows == 1)
{
$row = $query->row();
echo $row->lname;
}
}
在我的位指示我的getFirstName,getlastname功能:
public function members()
{
if($this->session->userdata('is_logged_in'))
{
$data['fname'] = $this->getf();
$data['lname'] = $this->getl();
$this->load->view('members', $data);
}
else
{
redirect('main/restricted');
}
}
林回荡在我看来,FNAME和LNAME变量,打印“阵”,而不是实际的名字和姓氏
echo $fname;
echo $lname;
答
您对型号的呼叫是完全错误的,您不是遵循标准程序 。像这样尝试。 单独的逻辑
控制器
public function members()
{
if($this->session->userdata('is_logged_in'))
{
$email = $this->input->post('email');
$result = $this->mymodel->getnames($email);
if($result){
$data['fname'] = $result->first_name;
$data['lname'] = $result->last_name;
$this->load->view('members', $data);
}
}
else
{
redirect('main/restricted');
}
}
而对于模型创建单功能不两个函数 为两个值可与单个功能 检索此外返回对象,而不是回声
public function getnames($email)
{
$this->db->where('email',$email);
$query = $this->db->get('users');
if($query->num_rows == 1)
{
return $query->row();
}
return false;
}
答
从我可以看你有没有真正宣布“FNAME”和“L-NAME”的变量,除非我已经错过了它,但如果它保持返回“氩射线”那是因为你需要用连载
$variable = json_encode($arrayName);
这个数组将会把数组转换成字符串,希望这有助于。
答
的
UserModel
class UserModel extends CI_Model
{
public function getItemByEmail($email)
{
// check email
$this->load->helper('email');
if(! $email OR ! valid_email($email))
return array();
$this->db->where('email', $email);
$this->db->limit(1);
$item = $this->db->get('users')->row();
return $item;
}
}
控制器:
public function members()
{
if(! $this->session->userdata('is_logged_in'))
redirect('main/restricted');
$this->load->model('UserModel');
$this->load->view('members', array(
'userRow' => $this->UserModel->getItemByEmail($this->input->post('email', TRUE))
));
}
查看:
<?= (isset($userRow->fname) ? $userRow->fname : ''); ?>
但我通过$ data数组到视图中。 fname和lname会被转换成视图中的变量吧? – wdphd 2013-05-11 17:57:22
啊我看到了,但你不能直接把一个数组变成一个独立的字符串变量......你必须将数组串行化或串行化,以便它可以分解,否则就是因为你没有指定哪个你想使用的数组的一部分...所以如果我有一个数组像... fname 2013-05-11 18:07:14
$ fname [0]是空的我猜。它不打印任何东西。 var_dump显示它被设置为NULL。无法找到为什么getf和getl函数没有返回值 – wdphd 2013-05-11 18:25:41