php - Codeigniter - 检查值是否已存在于数据库中 $result->num_rows == 0 不起作用

标签 php codeigniter

用户看到一个优惠券页面,输入优惠券代码,如果优惠券有效,他们会看到一个页面来挑选他们的礼物(称为 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/

相关文章:

php - 请向我解释这个正则表达式

javascript - 使用 PHP 获取 Web 服务数据

javascript - JQuery Ajax 错误 {"readyState":0 ,"responseText" :"" ,"status":0 ,"statusText" :"OK"}

jquery - Codeigniter 中的 ajax 出现 500 内部服务器错误

php - Codeigniter - 检查用户是否登录并存在(这是一个真实的用户)

php - 在 jquery 中动态设置按钮文本

php - PHP中随机长十六进制字符串的生成器

php - Wordpress 中的 undefined object

php - codeigniter mysql 查询有什么问题

php - codeigniter 4 url​​ 进入循环