0

我正在关注 php 和 mysql 中的登录/注册教程。正如您在此视频中看到的: http ://www.youtube.com/watch?v=JUk2e8oqOvI&list=PLE134D877783367C7

您可以在 06:28 分钟找到函数 user_id_from_username。

我有确切的功能:

function user_id_from_username($username){                  
    $username = sanitize($username);
    return mysql_result(mysql_query("SELECT 'user_id' FROM 'users' WHERE 'username' = '$username'"), 0, 'user_id');
}

但是这个查询永远不会返回 user_id。我试图回显这个查询的结果,但我什么也没得到。数据库没问题,所有其他查询工作正常。如果我再次在 mysql 工作台中运行此查询,它就可以工作。我不知道问题出在哪里。你能帮助我吗。

4

5 回答 5

0

删除 user_id、users 和 username 周围的引号。

引号仅用于字符串

mysql_query("SELECT user_id FROM users WHERE username = '$username'")

或优化

mysql_query('SELECT user_id FROM users WHERE username = "' . $username . '";')
于 2013-07-26T09:20:31.337 回答
0
WHERE 'username' = '".$username."'"   replace this in query and try again
于 2013-07-26T09:26:53.520 回答
0

您需要从 mysql_result 中提取数据。

function user_id_from_username($username){
    $username = sanitize($username);
    $result = mysql_result(mysql_query("SELECT 'user_id' FROM 'users' WHERE 'username' = '".$username."'"), 0, 'user_id');
    $row = mysql_fetch_assoc($result);
    return $row['user_id'];    
}
于 2013-07-26T09:15:57.513 回答
0

使用“而不是”

"SELECT user_id FROM users WHERE username = '".$username."'"
于 2013-07-26T09:14:15.733 回答
0
return mysql_result(mysql_query("SELECT 'user_id' FROM 'users' WHERE 'username' = '".$username."'"), 0, 'user_id');
于 2013-07-26T09:14:38.530 回答