gpt4 book ai didi

php - 准备好的语句 Mysql 不工作

转载 作者:行者123 更新时间:2023-11-29 03:18:23 24 4
gpt4 key购买 nike

我正在尝试使用准备好的语句从表中选择数据,如下所示。这种方法不起作用。

    $sql = "SELECT * FROM `usrs` WHERE `username` = ? ";
$statement = $this->conn->prepare($sql);
if (!statement)
{
throw new Exception($statement->error);
}
$statement->bind_param("s",$username);
$returnValue = $statement->execute();
return $returnValue;

$sql 应采用以下格式。

$sql = "SELECT * FROM `usrs` WHERE `username` = 'username' ";

但是上面的代码没有在用户名两边加上单引号' '

我需要将用户名放在两个单引号 ' ' 之间,如图所示。如果我只使用

$sql = "SELECT * FROM `usrs` WHERE `username` = username "

它不起作用。

关于如何做到这一点的任何建议。

最佳答案

阅读this小心:

bool mysqli_stmt::execute ( void )

这意味着它返回 bool 值 - 这不是可用的对象或数组。

您必须获取语句。

修复方法如下:

$sql = "SELECT * FROM `usrs` WHERE `username` = ? LIMIT 1";
$statement = $this->conn->prepare($sql);
$statement->bind_param("s",$username);
if ($statement->execute()) {
$result = $statement->get_result();
return $result->fetch_assoc();
}
return null;

附言谢谢@Phil 修正了我在回答中的错误

关于php - 准备好的语句 Mysql 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50380991/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com