Php 带有两个数组的Where的Codeigniter查询
希望你有好的一天 我正在修改一些登录函数的代码。它在Codeigniter 3中。所以用户名也可以用电子邮件填写。 如何使用Codeigniter编写此代码 以下是我的控制器的一些代码:Php 带有两个数组的Where的Codeigniter查询,php,codeigniter,Php,Codeigniter,希望你有好的一天 我正在修改一些登录函数的代码。它在Codeigniter 3中。所以用户名也可以用电子邮件填写。 如何使用Codeigniter编写此代码 以下是我的控制器的一些代码: $data = array('username' => $this->input->post('username', TRUE), 'password' => md5($this->input->post('password', TRUE))
$data = array('username' => $this->input->post('username', TRUE),
'password' => md5($this->input->post('password', TRUE))
);
$data1 = array('email' => $this->input->post('username', TRUE),
'password' => md5($this->input->post('password', TRUE))
);
$this->load->model('m_login');
$result= $this->m_login->cek_user($data, $data1);
if ($result->num_rows() == 1) {
some code......
下面是我的模型中的cek_user()
函数:
public function cek_user($data, $data1) {
$query = $this->db->get_where('mytable', $data||$data1);
return $query;
}
我想问的是,如何在$data
和$data1
谢谢您可以在一行查询中完成此操作
public function cek_user($data, $data1) {
$this->db->where($data); $this->dB->or_where($data1);
$query = $this->db->get('mytable');
return $query->result();
}
或者你的函数应该是这样工作的
public function cek_user($data, $data1) {
$query = $this->db->get_where('mytable', $data,$data1);
return $query->result();
}
希望它能帮助您您可以在一行查询中完成此操作
public function cek_user($data, $data1) {
$this->db->where($data); $this->dB->or_where($data1);
$query = $this->db->get('mytable');
return $query->result();
}
或者你的函数应该是这样工作的
public function cek_user($data, $data1) {
$query = $this->db->get_where('mytable', $data,$data1);
return $query->result();
}
希望它能帮助你解决控制器中的问题,只需输入下面的代码
$this->load->model('m_login');
$result= $this->m_login->cek_user($this->input->post());
if (!empty($result)) {
//Do Stuff
}
在您的模型中
public function cek_user($postData) {
$this->db->where('username', $postData['username']);
$this->db->or_where('email', $postData['email']);
$this->db->where('password', md5($postData['password']));
$query = $this->db->get('mytable')->result();
return $query;
}
希望这将对您有所帮助。在您的控制器中,只需输入以下代码
$this->load->model('m_login');
$result= $this->m_login->cek_user($this->input->post());
if (!empty($result)) {
//Do Stuff
}
在您的模型中
public function cek_user($postData) {
$this->db->where('username', $postData['username']);
$this->db->or_where('email', $postData['email']);
$this->db->where('password', md5($postData['password']));
$query = $this->db->get('mytable')->result();
return $query;
}
希望这对您有所帮助。根据codeigniter手册,您可以使用以下方法编写查询:, 这里可以使用where和/或_where函数。你可以在下面的链接上找到更多信息 方法1
public function cek_user($data, $data1) {
$where = "(name='$data[name]' AND password ='$data[password]') OR (email='$data1[email]' AND password ='$data[password]')";
$this->db->where($where);
$query = $this->db->get('my_table');
return $query;
}
public function cek_user($data, $data1) {
$this->db->where($data);
$this->db->or_where($data1);
$query = $this->db->get('my_table');
return $query;
$query = $this->db->get_where('mytable ', $data||$data1);
return $query;
}
方法2
public function cek_user($data, $data1) {
$where = "(name='$data[name]' AND password ='$data[password]') OR (email='$data1[email]' AND password ='$data[password]')";
$this->db->where($where);
$query = $this->db->get('my_table');
return $query;
}
public function cek_user($data, $data1) {
$this->db->where($data);
$this->db->or_where($data1);
$query = $this->db->get('my_table');
return $query;
$query = $this->db->get_where('mytable ', $data||$data1);
return $query;
}
根据codeigniter手册,您可以使用以下方法编写查询:, 这里可以使用where和/或_where函数。你可以在下面的链接上找到更多信息 方法1
public function cek_user($data, $data1) {
$where = "(name='$data[name]' AND password ='$data[password]') OR (email='$data1[email]' AND password ='$data[password]')";
$this->db->where($where);
$query = $this->db->get('my_table');
return $query;
}
public function cek_user($data, $data1) {
$this->db->where($data);
$this->db->or_where($data1);
$query = $this->db->get('my_table');
return $query;
$query = $this->db->get_where('mytable ', $data||$data1);
return $query;
}
方法2
public function cek_user($data, $data1) {
$where = "(name='$data[name]' AND password ='$data[password]') OR (email='$data1[email]' AND password ='$data[password]')";
$this->db->where($where);
$query = $this->db->get('my_table');
return $query;
}
public function cek_user($data, $data1) {
$this->db->where($data);
$this->db->or_where($data1);
$query = $this->db->get('my_table');
return $query;
$query = $this->db->get_where('mytable ', $data||$data1);
return $query;
}
试试这个:-
$username = $this->input->post('username', TRUE);
$password = $this->input->post('password', TRUE);
$where = "(`username`='$username' AND `password`='$password' or `email`='$username' AND `password`='$password')";
$this->db->where($where);
$query = $this->db->get('table');
return $query;
试试这个:-
$username = $this->input->post('username', TRUE);
$password = $this->input->post('password', TRUE);
$where = "(`username`='$username' AND `password`='$password' or `email`='$username' AND `password`='$password')";
$this->db->where($where);
$query = $this->db->get('table');
return $query;
谢谢,代码已编译,但当我试图查看查询时,它显示了
从'daftar_keanggotaan'中选择*,其中'username'='admin'
**和**`'password'='code'**或**
'email\u rumah'='admin'**逻辑是和或,而我希望逻辑是和或和。有什么想法吗?谢谢,对不起。我试图解释的是,cek_用户($data,$data1)中的your代码给出了查询逻辑和或。AND来自$data,第一个OR来自或位于或_,其中
,第二个OR来自$data1。而我想要的逻辑是和来自$data或来自或_where
和第二个和来自$data1。谢谢。请写下您需要的查询,从mytable
中选择*,其中用户名
='something'和密码
='something'或电子邮件
='something'和密码
='something。$data1`anda$data
应为和。许多人仍然给我查询和(来自$data
中的变量)或(来自或_WHERE)和或(来自$data1
中的变量)。虽然它应该是,但是$data1
中的两个变量应该是AND,因此查询将是AND或AND。我认为,问题来自或\u WHERE
。不管怎样,谢谢你的帮助,我以后会写另一个代码来修复它。谢谢,代码已经编译,但是当我试图查看查询时,它显示了从'daftar\u keanggotaan'中选择*,其中'username'='admin'
**和**`'password'='code'**或**
'email\u rumah'='admin'**或**
'password'='code'`逻辑是AND或OR,而我希望逻辑是AND或AND。有什么想法吗?谢谢,对不起。我试图解释的是,cek_用户($data,$data1)中的your代码给出了查询逻辑和或。AND来自$data,第一个OR来自或位于或_,其中
,第二个OR来自$data1。而我想要的逻辑是和来自$data或来自或_where
和第二个和来自$data1。谢谢。请写下您需要的查询,从mytable
中选择*,其中用户名
='something'和密码
='something'或电子邮件
='something'和密码
='something。$data1`anda$data
应为和。许多人仍然给我查询和(来自$data
中的变量)或(来自或_WHERE)和或(来自$data1
中的变量)。虽然它应该是,但是$data1
中的两个变量应该是AND,因此查询将是AND或AND。我认为,问题来自或\u WHERE
。不管怎样,谢谢你的帮助,我以后会写另一个代码来修复它。你的代码运行得很好。谢谢你,是的,我知道,我们应该一个接一个地将数组中的变量与逻辑(如OR AND)进行比较,但我想知道是否有更简单的解决方案,因为我已经有了2个数组,其中包含了数据,只是“逻辑”而已。喜欢或正在使用$data
和$data1
。虽然第二种方法仍然给了我AND或OR逻辑,但您的代码运行得很好。谢谢你,是的,我知道,我们应该一个接一个地将数组中的变量与逻辑(如OR AND)进行比较,但我想知道是否有更简单的解决方案,因为我已经有了2个数组,其中包含了数据,只是“逻辑”而已。喜欢或正在使用$data
和$data1
。而第二种方法仍然给我和或逻辑。