php代码中表1中的用户名和表2中的密码
我在表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
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'";