【发布时间】:2015-08-08 16:35:37
【问题描述】:
这是我第一次使用prepare语句方法。
问题是函数返回 Nothing "null"。
功能:
function login($username, $password)
{
$username = sanitize($username);
$password = md5($password);
global $connect;
$stmt = $connect->prepare("SELECT `user_id` FROM `users` WHERE `username` = ? AND `password` = ? ");
$stmt->bind_param("ss", $username, $password);
$stmt->execute();
$stmt->bind_result($id);
$result = $stmt->fetch();
$stmt->close();
$connect->close();
return $result;
}
我得到的错误:
"mysqli_num_rows() 期望参数 1 为 mysqli_result,null 给出”
不知道是什么问题!
最新结果:
function login($username, $password)
{
global $connect;
$stmt = $connect->prepare("SELECT `user_id` FROM `users` WHERE `username` = ? AND `password` = ? ");
$stmt->bind_param("ss", $username, $password);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_array(MYSQLI_NUM))
{
$result[] = $row;
}
$stmt->close();
$connect->close();
return $result;
}
不能使用 mysqli_result 类型的对象作为“$result[] = $row;”中的数组
【问题讨论】:
-
你能添加你的数据库连接类吗?
-
将
md5用于密码哈希与根本不对其进行哈希一样不安全。
标签: php function mysqli null prepared-statement