用户看到一个优惠券页面,输入优惠券代码,如果优惠券有效,他们会看到一个页面来挑选他们的礼物(称为 exploits)。 (第 1 部分) 他们可以选择任何漏洞。在他们选择它之后,它会在单击提交后将其保存在数据库中。 但是它只会将其保存在数据库中如果数据库中不存在该值。 (第 2 部分)
所以,我已经完成了第 1 部分,但第 2 部分对我来说不起作用。它每次都将值保存在数据库中,即使该值已经存在于数据库中。
这是我的 Controller 代码:
$result = $this->model_users->insert_used_coupon($exploit, $coupon);
switch ($result) {
case 'used_coupons':
//do stuff
break;
case 'failed':
//do stuff
break;
case 'success':
//do stuff
break;
}
我的模型文件:
$time = date("Y-m-d H:i:s");
$uid = $this->session->userdata('uid');
$this->db->select('uid');
$this->db->where('uid', $uid);
$result = $this->db->get('used_coupons');
if($result->num_rows == 0) {
$data = array(
'coupon' => $exploit,
'exploit' => $coupon,
'time' => $time,
'uid' => $uid);
$this->db->insert('used_coupons', $data);
if ($this->db->affected_rows() === 1) {
return 'success';
} else {
return 'failed';
}
} else {
return 'already_exists';
}
我不知道为什么会出现这个问题。任何帮助都受到高度赞赏。谢谢。
最佳答案
你可以试试替换
if($result->num_rows == 0) {
与
if($result->num_rows() > 0) {
或
if($result->num_rows() == 0) {
关于php - Codeigniter - 检查值是否已存在于数据库中 $result->num_rows == 0 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30940361/