Войдите в систему, используя таблицу, подключенную через LEFT JOIN в SQL - PullRequest
3 голосов
/ 02 октября 2019

У меня есть таблица с названием «торговец», в которой перед входом в систему система проверяет имя пользователя и пароль, чтобы убедиться, что они совпадают. приведенный ниже код проверяет использование SQL SELECT и успешно входит в сеанс, если ввод правильный.

SQL - $rowMerchant = $mcMerchant->SelectObj_ByUsrMerchant($db, $usrmerchant);, и вы также можете увидеть таблицу и ее столбцы на моем снимке экрана.

ТеперьЯ хочу использовать другую таблицу с их собственным именем пользователя и паролем, а также с использованием некоторых столбцов исходной таблицы "merchant_branch", добавив LEFT JOIN, показанный ниже.

Я использовал 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();
      }

tables

Merchant.mc.php

SelectObj_ByUsrMerchant

  " SELECT
      merchantid, usrmerchant, businessname, description, address, contact, email, logosrc, facebook, instagram, linkedin, twitter, googleplus, domainpath, recstatus, CAST(nearby AS UNSIGNED) AS nearby, passwd, saltcode, createddate
    FROM merchant
    WHERE
      usrmerchant = :usrmerchant "

SelectObj_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 "
...