mysql获取名称的id

时间:2015-09-27 13:15:06

标签: php mysql

您好我有这样的数据库:

ID Name Password
1  Hans  *****

现在,当我登录时,我得到名称的PHP会话。

现在我想获取我在Login中输入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();  
}

2 个答案:

答案 0 :(得分: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 :(得分:0)

更改

$_SESSION['UserID'] = $User_ID;

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

或者如果您在sql查询后包含explode($result)$ID变量将可用。

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