gpt4 book ai didi

php - Stmt 不工作

转载 作者:行者123 更新时间:2023-11-29 11:41:10 28 4
gpt4 key购买 nike

我已经准备好阅读所有其他主题,但没有找到解决方案。这是我的代码

    $DevolverUser     =  $_SESSION['DevolverUser'];
$DevolverPaswword = $_SESSION['DevolverPaswword'];

$query = " select puededevolver ".
" from b_usuarios ".
" where codpais = ? ".
" and usuario = 'usuario' ".
" and PASSWORD = PASSWORD('password')";

$stmt = $con ->prepare($query);
$stmt->bind_param("s", $pais );
$stmt->execute();
$stmt->bind_result($dato);

while($stmt->fetch()){
echo $dato;
}

如果我更改为

    $DevolverUser     =  $_SESSION['DevolverUser'];
$DevolverPaswword = $_SESSION['DevolverPaswword'];

$query = " select puededevolver ".
" from b_usuarios ".
" where codpais = ? ".
" and usuario = ? ".
" and PASSWORD = PASSWORD(?)";

$stmt = $con ->prepare($query);
$stmt->bind_param("sss", $pais, $DevolverUser, $DevolverPaswword );
$stmt->execute();
$stmt->bind_result($dato);

while($stmt->fetch()){
echo $dato;
}

它不起作用,如果我特征只是绑定(bind)用户或只有密码不起作用,则只能使用 $pais。我已经准备好检查我的所有变量都是字符串。我不知道还需要检查什么,请帮忙。

最佳答案

编辑:我的错,我假设您正在使用PDO - 相反,您似乎使用mysqli

这不是$stmt->bind_param(),而是$stmt->bindParam();据我所知,像 $stmt->bind_result() 这样的东西根本不存在。我还想知道您希望在 SQL 中使用 PASSWORD(...) 实现什么目的。到目前为止我已经修复了所有我能修复的内容:

$DevolverUser     =  $_SESSION['DevolverUser'];
$DevolverPaswword = $_SESSION['DevolverPaswword'];

$query = " select puededevolver ".
" from b_usuarios ".
" where codpais = :codpais ".
" and usuario = :usuario ".
" and PASSWORD = :password ";

$stmt = $con->prepare($query);
$stmt->bindParam(":codpais", $pais);
$stmt->bindParam(":usuario", $DevolverUser);
$stmt->bindParam(":password", $DevolverPaswword);
$stmt->execute();

while($row = $stmt->fetch()){
echo $row["puededevolver"];
}

关于php - Stmt 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35757965/

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