从不同的mysql数据库表中选择

时间:2014-10-10 15:45:08

标签: php mysql select

我的数据库中有两个表,TBMEMBERS& TBCOUPON。第一个表格有两个字段" Id(自动增量)& member"另一个是" coupon_code"。

我想要的是我必须通过表格输入会员和优惠券代码的情况,它会检查会员和会员是否coupon_code存在于各自的表中。如果是,它将登录并显示详细信息。

我有以下代码行,但我继续让"成员不存在错误"

tbmembers

    Id                Member    
    1                 Taylor
    2                 Connor

Tbcoupon

    Coupon_code
      12345
      54321

我的代码:

 $sql = "SELECT member, coupon_code
                    FROM tbmembers,
        tbcoupon
                    WHERE member = '" . $formfield1 . "' OR coupon_code = '" . $formfield2 . "';";
            $result_of_login_check = $this->db_connection->query($sql);

            // if this user exists
            if ($result_of_login_check->num_rows == 1) {

                // get result row (as an object)
                $result_row = $result_of_login_check->fetch_object();


                    // write user data into PHP SESSION
                    $_SESSION['member'] = $result_row->member;

                    $_SESSION['user_login_status'] = 1;

                } else {
                    $this->errors[] = "Wrong coupon_code. Try again.";
                }
            } else {
                $this->errors[] = "This user does not exist.";
            }
        } else {
            $this->errors[] = "Database connection problem.";
        }
    }
}

我知道表格之间需要匹配,但在这种情况下,任何会员都可以选择任何coupon_code,因此没有coupon_code链接到特定会员。

我的意图是不可能使用mysql& PHP?

1 个答案:

答案 0 :(得分:0)

您的查询应该是这样的(根据您的问题):

"SELECT member, coupon_code
 FROM tbmembers, tbcoupon
 WHERE member = '" . $formfield1 . "'  AND coupon_code = '" . $formfield2 . "' ";

你的if条件应该是:

if ($result_of_login_check->num_rows > 0){
    //get result, set login status as 1 etc
} else{
   //Wrong coupon code or user does not exist error
}