此1
未返回值。检查它是否存在SQL错误,没有发现。我猜PHP或函数中有些错误。请帮我改正。
w
答案 0 :(得分:0)
编辑:正如劳伦斯正确指出的那样,我错过了可变范围问题。 mysqli_query
无权访问$conn
变量。
尝试检查$result
中返回的行数:
echo $result->num_rows;
或将其打印到日志(如果有)。不确定如何检查mysqli_fetch_array
不会返回值-请尝试var_dump()
或print_r()
。
很少提出其他建议:
您的问题中的两个查询都从同一张表中选择-user_data
-单独进行操作效率很低(除非id_from_username
在其他地方通常使用),我将其合并为一个查询一次将其选中:
在user_id
的{{1}}中选择password
,user_data
...
使用mysqli_query
并将用户输入串联到查询中通常是一个坏主意。不确定sanitize
函数的作用,但我仍然会使用变量绑定,即使mysqli
支持mysqli_prepare
,请参见here。
根据您的代码,您正在使用md5
将密码存储在数据库中。这是非常不好的做法。自PHP 5.5.0起,PHP提供了非常出色的功能password_hash和password_verify,它们将为您处理密码哈希,使您的应用程序更加安全。