gpt4 book ai didi

php - 获取准备好的mysql语句的结果

转载 作者:行者123 更新时间:2023-11-29 07:56:21 25 4
gpt4 key购买 nike

我在godaddy服务器上运行php 5.4。我正在测试一个非常简单的查询,但是无法使用任何方法返回结果。

我使用这样的准备好的语句:

$login = mysqli_prepare($sqlConn,"SELECT 1 FROM users WHERE username = ? AND password = ?");
mysqli_stmt_bind_param($login, "ss", $username, $password);

if(!empty($login)){
mysqli_stmt_execute($login);

//I tried this but an error message says mysqli_stmt_get_result is undefined
//$validated = mysqli_stmt_get_result($login);

mysqli_stmt_bind_result($login, $validated);
mysqli_stmt_fetch($login);

//$validated is always empty
print_r($validated);

if(empty($validated)) echo 'no user found';
else echo 'found user';
}


即使我使用数据库中肯定存在的用户名并且print_r始终为空白,代码也始终会打印出“找不到用户”。如果我直接在数据库中运行sql代码,它将返回正确的结果。

为什么不能使用mysqli_stmt_get_result?为什么绑定/获取代码不起作用?

如果我使用这样的非准备语句:

$validated = mysqli_query($sqlConn, "SELECT 1 FROM users WHERE username = ME");


它没有问题,并返回正确的结果。

最佳答案

mysqli_stmt_bind_param($login, "ss", $username);


应该

mysqli_stmt_bind_param($login, "s", $username);

关于php - 获取准备好的mysql语句的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25044310/

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