2015-09-27 46 views
0

的ID您好,我有一个这样的数据库:mysql的获取名称

ID Name Password 
1 Hans ***** 

现在,当我登录,我得到了名的PHP会议。

现在我想在登录中获得我输入的Name的ID并保存在NameSession中,并将其保存到SESSION中。

我在互联网上搜索,因为它看起来不那么辛苦,但我没有找到任何东西。

这是我的代码到目前为止。

$sql = "SELECT * FROM login WHERE Login='".$loginname."' and Password = '".$loginpassword."'"; 
$result = mysql_query($sql); 
if (mysql_num_rows($result)>0) { //...wenn ein Datensatz mit diesem Nicknamen gefunden wurde: 
    echo "Willkommen ".$loginname; //Fehlermeldung 

    //Session registieren 
    $_SESSION['loginname'] = $loginname; 
    $_SESSION['UserID'] = $User_ID; 

    //Text ausgeben 
header('Location: home.php'); 
exit(); 
} 
+1

请格式化您的问题。 – ergonaut

+1

请避免使用_deprecated_ mysql函数并移至mysqli或PDO。 – user5173426

+0

您的表结构显示“ID名称密码”,其中您的查询将列名称显示为“登录名和密码”。发生了什么? – user5173426

回答

1

获取特定记录的相应id。 假设您的表格结构为ID Name Password正如您在问题中提到的那样。根据该您的SQL查询而应是这样的:

"SELECT * FROM login WHERE Name ='".$loginname."' and Password = '".$loginpassword."'"; 

更改此:

if (mysql_num_rows($result)>0) { //...wenn ein Datensatz mit diesem Nicknamen gefunden wurde: 
    echo "Willkommen ".$loginname; 

这样:

if (mysql_num_rows($result)>0) { //...wenn ein Datensatz mit diesem Nicknamen gefunden wurde: 
    $row = mysql_fetch_array($result); 
    echo $row['ID']; 

    //saving the id and username in sessions 
    $_SESSION['loginname'] = $loginname; 
    $_SESSION['UserID'] = $row['ID']; 

注:这仍然是不好的做法,请研究mysqliPDO

PHP Manual: MySQL Improved Extension

PHP Manual: PHP Data Objects

+1

非常感谢你,对,你说得对,我应该开始学习PDO:D – Syrakus

0

变化

$_SESSION['UserID'] = $User_ID; 

$_SESSION['UserID'] = $result['ID']; 

,或者如果你已经列入explode($result) SQL查询后, $ID变量将可用。

这是假设从查询中只返回了1行,您可能希望执行循环$result数组(所有返回的行),具体取决于您希望使用登录工作流程的距离。

+0

谢谢, ) – Syrakus