寻求从我的表格中获取数据的帮助。
到目前为止,我有2个表,一个名为: userlogin ,其中包含'user_id'列出的登录信息,我的下一个表名为 userinfo ,目前只包含用户名和地址,再次由'user_id'列出
目前我有一个登录页面和一个主页。登录页面使用 userlogin 表中的信息来验证用户是否拥有帐户并且他们输入了正确的信息。
现在这是棘手的,(至少对我而言)就像在这个主页上我试图显示 userinfo 表中与中的user_id相关的信息userlogin 表。
这是我的登录页码
<?php
// Use session variable on this page. This function must put on the top of page.
session_start();
$_SESSION['userName'] = 'Root';
////// Login Section.
$Login=$_POST['Login'];
if($Login){ // If clicked on Login button.
$username=$_POST['username'];
$password=$_POST['password']; // Encrypt password with md5() function.
// Connect database.
//connect
$con = mysql_connect("*****","*****","*****");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
//datebase
mysql_select_db("*****, $con);
// Check matching of username and password.
$result=mysql_query("select * from userlogin where username='$username' and password='$password'");
if(mysql_num_rows($result)!='0'){ // If match.
session_register("username"); // Craete session username.
header("location:home.php"); // Re-direct to main.php
exit;
}else{ // If not match.
$message="--- Incorrect Username or Password ---";
}
} // End Login authorize check.
?>
以下是我的主页的代码,该信息将在登录后显示给用户。
<?php
session_start();
if(isset($_SESSION['userName']))
?>
<?php
// Connect database.
//connect
$con = mysql_connect("****","*****","******");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
//datebase
mysql_select_db("*****", $con);
//select
$user_id = $_GET['user_id'];
$result = mysql_query("SELECT userinfo.user_id, userlogin.user_id
FROM userinfo
INNER JOIN userlogin
ON userinfo.user_id=userlogin=user_id");
while($row = mysql_fetch_array($result))
{
echo $row['name'] . '</br>' ;
echo $row['address'] . '</br>';
}
&GT;
到目前为止,我所做的只是显示 userinfo 表中的所有信息,我想要的是将此内容限制为显示与 userlogin <中的user_id匹配的信息/ strong>表格到 userinfo 表的user_id并显示结果。
[编辑]我在我的主页代码中编辑了我的mysql,现在我没有显示任何结果,我仍然不确定如何使这项工作。
提前感谢您的帮助!
答案 0 :(得分:0)
$result = mysql_query("SELECT userinfo.name as name, userinfo.address as address, userlogin.username as username FROM userinfo, userlogin WHERE id = 1");
作为一个例子。
while($row = mysql_fetch_array($result))
{
echo $row['name'];
echo $row['username'];
echo $row['address'];
}
答案 1 :(得分:0)
您可以在user_id上加入这两个表,以从两个表中获取信息。
答案 2 :(得分:0)
我会使用PHP PDO类。
当您使用GET属性时,如果您不使用预准备语句,则可能很容易进行SQL注入。
查看How can I properly use a PDO object for a parameterized SELECT query
将此作为指南,但请使用您的ID列而不是名称。