Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php代码中表1中的用户名和表2中的密码_Php_Login_Relation - Fatal编程技术网

php代码中表1中的用户名和表2中的密码

php代码中表1中的用户名和表2中的密码,php,login,relation,Php,Login,Relation,我在表1中有用户名,在表2中有密码。登录的语法是什么 如果我有两个表,如何创建登录函数: TABLE1 NAME: accounts | COLUMN: acc_id, password, mem_id TABLE2 NAME: members | COLUMN: mem_id, firstname 我想将“firstname”设置为$username,将“password”设置为$password。我这里有代码,但我不能继续,因为我不知道它是否正确 $sqlacc="SELECT * FR

我在表1中有用户名,在表2中有密码。登录的语法是什么

如果我有两个表,如何创建登录函数:

TABLE1 NAME: accounts | COLUMN: acc_id, password, mem_id
TABLE2 NAME: members  | COLUMN: mem_id, firstname
我想将“firstname”设置为$username,将“password”设置为$password。我这里有代码,但我不能继续,因为我不知道它是否正确

$sqlacc="SELECT * FROM members INNER JOIN accounts ON 
account.acc_id=members.mem_id WHERE members.firstname='$username' and accounts.password='$password'";
$resultacc = mysql_query($sqlacc);
$countacc = mysql_num_rows($resultacc);
$rowacc = mysql_fetch_array($resultacc, MYSQL_NUM);

if($countacc==1){
$_SESSION['idontknow']=$rowacc[0];
$_SESSION['idontknow']=$rowacc[1];
header("location:content/index.php");
}
试试下面的代码

session_start();

$link = mysql_connect('localhost', 'mysql_username', 'mysql_password');

mysql_select_db('dbname', $link);

$username=mysql_real_escape_string($_POST['user']);        
$password=mysql_real_escape_string($_POST['pass']);

$sqlacc=" select * ".
        " from members m ".
        " inner join accounts a on a.mem_id=m.mem_id ".
        " where a.password='".$password."' and m.firstname='".$username."'";

$result = mysql_query($sqlacc);
$countacc = mysql_num_rows($result);

if($countacc==1){
    $rowacc = mysql_fetch_array($result);
    $_SESSION['memId']=$rowacc[0];
    $_SESSION['accId']=$rowacc[2];
    header("Location:content/index.php");
}
在您的查询中,加入条件是错误的

account.acc_id=members.mem_id
注意:您可以对任意两列执行联接,但条件是它们必须具有相同的数据类型和大小

在查询中,联接条件映射错误(account.acc\u id=members.mem\u id


首先,你们能去掉所有的帽子和“plz”吗?好的。对不起,这是我第一次来这里。:)登录后,请在此代码中显示有关内容。
$username=mysql\u real\u escape\u string($\u POST['user'])$password=mysql\u real\u escape\u字符串($\u POST['pass'])$sqlacc=“SELECT*FROM members internal JOIN accounts ON account.mem_id=members.mem_id WHERE members.firstname='$username'和accounts.password='$password'$resultacc=mysql\u查询($sqlacc)$countacc=mysql\u num\u行($resultacc)$rowacc=mysql\u fetch\u数组($resultacc,mysql\u NUM);如果($countacc==1){$_会话[''.\\\\\\\\\\\']=$rowacc[0];$_会话['.\\\\\\\\\\\']=$rowacc[1];标头(“location:index.php”)}不起作用。但我知道你的密码是对的。这是我真正的问题[MYPROBLEM]@DanielReyes,什么是“我真正的问题”。你必须只使用他们的会话变量名。你是否使用由某人创建的会话抱歉,如果我这么烦扰。。呵呵。我真正的问题在于这个链接@DanielReyes签出会话设置您的帐户状态是否正确。mem_id=members.mem_id?登录后,此代码中的表名为accountshow about。
$username=mysql\u real\u escape\u string($\u POST['user'])$password=mysql\u real\u escape\u字符串($\u POST['pass'])$sqlacc=“SELECT*FROM members internal JOIN accounts ON account.mem_id=members.mem_id WHERE members.firstname='$username'和accounts.password='$password'$resultacc=mysql\u查询($sqlacc)$countacc=mysql\u num\u行($resultacc)$rowacc=mysql\u fetch\u数组($resultacc,mysql\u NUM);如果($countacc==1){$_会话[''.\\\\\\\\\\']=$rowacc[0];$_会话['.\\\\\\\\\']=$rowacc[1];标头(“location:index.php”);}还没有。因为我的一些代码不正确。。。上面的代码有错误。如果($countacc==1){$rowacc=mysql\u fetch\u数组($result);$\u会话['idontknow']=$rowacc[0];$\u会话['idontknow']=$rowacc[1];
SELECT * FROM members 
INNER JOIN account ON account.mem_id =members.mem_id 
WHERE members.firstname='$username' and accounts.password='$password'";


$sqlacc="SELECT * FROM members INNER JOIN accounts ON 
account.mem_id =members.mem_id WHERE members.firstname='$username' and accounts.password='$password'";