PHP $stmt->bind_param()变量数量不匹配


PHP $stmt->bind_param() Number of variables doesn't match

由于一些未知的原因,我的代码似乎不能工作。我在谷歌上查过了,但似乎没有其他人有同样的问题。这是PHP的bug吗?

我得到的错误:

Warning: mysqli_stmt::bind_param() [mysqli-stmt.bind-param]: Number of variables doesn't match number of parameters in prepared statement in /home/a9684274/public_html/system/db.php on line 102

代码:

$stmt = $mysqli->prepare("SELECT * FROM users WHERE username='?'")
$name = "Vilsol";
$stmt->bind_param("s", $name);

提前感谢!

去掉单引号':

$stmt = $mysqli->prepare("SELECT * FROM users WHERE username=?")

在你的代码中,它们将被解释为字符串值,而不是可参数化的值。