使用准备好的语句 mysqli 获取查询结果
get results of query using prepared statements mysqli
我想使用准备好的语句获取查询结果,但我没有得到任何结果。
问题是我无法获取我的结果。有人可以举例说明如何使用准备好的语句获取查询结果吗?
这是我的代码:
$sql = "SELECT `username` FROM `usrs` WHERE `username` = ? ";
$statement = $this->conn->prepare($sql);
if (!statement)
{
throw new Exception($statement->error);
}
$statement->bind_param("s",$username);
$statement->execute();
$statement->bind_result($user);
while ($statement->fetch())
{
printf("%s", $user);
}
看起来很接近。我加了两行。一行存储结果,另一行是检查以确保您有来自查询的响应。 运行 看看是否有帮助。
$sql = "SELECT `username` FROM `usrs` WHERE `username` = ? ";
$statement = $this->conn->prepare($sql);
if (!statement)
{
throw new Exception($statement->error);
}
$statement->bind_param("s",$username);
$statement->execute();
$statement->store_result(); //<-- Added this.
if($statement->num_rows === 0) exit('No rows');//<--Test to see if you have a result.
$statement->bind_result($user);
while ($statement->fetch())
{
printf("%s", $user);
}
我想使用准备好的语句获取查询结果,但我没有得到任何结果。
问题是我无法获取我的结果。有人可以举例说明如何使用准备好的语句获取查询结果吗?
这是我的代码:
$sql = "SELECT `username` FROM `usrs` WHERE `username` = ? ";
$statement = $this->conn->prepare($sql);
if (!statement)
{
throw new Exception($statement->error);
}
$statement->bind_param("s",$username);
$statement->execute();
$statement->bind_result($user);
while ($statement->fetch())
{
printf("%s", $user);
}
看起来很接近。我加了两行。一行存储结果,另一行是检查以确保您有来自查询的响应。 运行 看看是否有帮助。
$sql = "SELECT `username` FROM `usrs` WHERE `username` = ? ";
$statement = $this->conn->prepare($sql);
if (!statement)
{
throw new Exception($statement->error);
}
$statement->bind_param("s",$username);
$statement->execute();
$statement->store_result(); //<-- Added this.
if($statement->num_rows === 0) exit('No rows');//<--Test to see if you have a result.
$statement->bind_result($user);
while ($statement->fetch())
{
printf("%s", $user);
}