匹配表数据以显示结果

时间:2014-01-10 15:07:48

标签: php mysql sql login

寻求从我的表格中获取数据的帮助。

到目前为止,我有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,现在我没有显示任何结果,我仍然不确定如何使这项工作。

提前感谢您的帮助!

3 个答案:

答案 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类。

http://uk1.php.net/pdo

当您使用GET属性时,如果您不使用预准备语句,则可能很容易进行SQL注入。

查看How can I properly use a PDO object for a parameterized SELECT query

将此作为指南,但请使用您的ID列而不是名称。