Php 在SQL中使用通过左联接连接的表登录
我有一个名为“merchant”的表,在登录之前,系统会检查用户名和密码是否匹配。下面的代码使用SQL SELECT进行检查,如果输入正确,则成功进入会话 SQL是Php 在SQL中使用通过左联接连接的表登录,php,sql,authentication,session,phpmyadmin,Php,Sql,Authentication,Session,Phpmyadmin,我有一个名为“merchant”的表,在登录之前,系统会检查用户名和密码是否匹配。下面的代码使用SQL SELECT进行检查,如果输入正确,则成功进入会话 SQL是$rowMerchant=$mcMerchant->SelectObj_ByUsrMerchant($db,$usrmerchant)您还可以在我的屏幕截图中看到表及其列 现在我想使用一个不同的表,它有自己的用户名和密码,但也使用原始表“merchant_branch”的一些列,hench左连接如下所示 我使用了SQL SelectO
$rowMerchant=$mcMerchant->SelectObj_ByUsrMerchant($db,$usrmerchant)
您还可以在我的屏幕截图中看到表及其列
现在我想使用一个不同的表,它有自己的用户名和密码,但也使用原始表“merchant_branch”的一些列,hench左连接如下所示
我使用了SQL SelectObj_ByUsrMerchantBranch,在login.vc.php中更改的行是
$rowMerchant = $mcMerchant->SelectObj_ByUsrMerchantBranch($db, $usrmerchant);
$merchantid = $rowMerchant['branchid'];
我刚把merchantid换成branchid,因为这是“merchant_branch”中唯一的密钥。但我无法登录,似乎缺少什么
login.vc.php
if (isset($_POST['login']) && $_POST['login'] == 'LOGIN')
{
$usrmerchant = $_POST['username'] . ' ';
if ($usrmerchant != '')
{
$rowMerchant = $mcMerchant->SelectObj_ByUsrMerchant($db, $usrmerchant);
}
if ($rowMerchant['usrmerchant'] != '')
{
$passwd = strtoupper(md5($_POST['password'] . $rowMerchant['saltcode']));
if ($passwd == $rowMerchant['passwd'])
{
$merchantid = $rowMerchant['merchantid'];
$rowAcctCMS = $mcAcctCMS->SelectObj_BySysrefAcctId($db, 1);
// Assign Session
$_SESSION['merchantid'] = $merchantid;
$_SESSION['usrmerchant'] = $rowMerchant['usrmerchant'];
$_SESSION['accesslevel'] = 'MERCHANT';
header('Location: orders.php?s=claimed'); die();
}
Merchant.mc.php
if (isset($_POST['login']) && $_POST['login'] == 'LOGIN')
{
$usrmerchant = $_POST['username'] . ' ';
if ($usrmerchant != '')
{
$rowMerchant = $mcMerchant->SelectObj_ByUsrMerchant($db, $usrmerchant);
}
if ($rowMerchant['usrmerchant'] != '')
{
$passwd = strtoupper(md5($_POST['password'] . $rowMerchant['saltcode']));
if ($passwd == $rowMerchant['passwd'])
{
$merchantid = $rowMerchant['merchantid'];
$rowAcctCMS = $mcAcctCMS->SelectObj_BySysrefAcctId($db, 1);
// Assign Session
$_SESSION['merchantid'] = $merchantid;
$_SESSION['usrmerchant'] = $rowMerchant['usrmerchant'];
$_SESSION['accesslevel'] = 'MERCHANT';
header('Location: orders.php?s=claimed'); die();
}
选择Obj_ByUsrMerchant
选择Obj_ByUsrMerchantBranch
" SELECT
mb.branchid, mb.merchantid, mb.usrmerchant, m.businessname, m.description, m.address, m.contact, m.email, m.logosrc, m.facebook, m.instagram, m.linkedin, m.twitter, m.googleplus, m.domainpath, m.recstatus, CAST(m.nearby AS UNSIGNED) AS nearby, mb.passwd, mb.saltcode, m.createddate
FROM `merchant_branch` mb
LEFT JOIN `merchant` m ON mb.merchantid = m.merchantid
WHERE
usrmerchant = :usrmerchant "