PHP 在 mysqli 准备语句中返回错误的行

PHP returning wrong row in mysqli prepared statment

我正在尝试为我的网站创建虚荣 URL,但截至目前,数据库中只有一个用户名可供参考。无论输入什么字母,我的查询都会 return 用户名 "callmeoddie" 的个人资料。这里的想法是让用户能够键入 website.com/username 来访问用户的个人资料。我知道我的 htaccess 设置正确并且正在运行。这是一个 PHP 问题。

$stmt = $db->prepare("SELECT `FirstName,`LastName`,`Username`,`RandNum` FROM `Users` WHERE `Username`=?");
$stmt->bind_param("i", $UserIdent);
$stmt->execute();
$stmt->store_result();
$num_of_rows = $stmt->num_rows;
$stmt->bind_result($FirstName, $LastName, $Username, $RandNum);
$stmt->fetch();
$stmt->close();

解决了我自己的问题。

$stmt->bind_param("i", $UserIdent); 行需要一个字符串,而不是整数。

代码更改为$stmt->bind_param("s", $UserIdent);