gpt4 book ai didi

php - 查询在 PHPMyAdmin 中运行,但不在 PHP 代码中运行

转载 作者:行者123 更新时间:2023-11-29 19:37:39 24 4
gpt4 key购买 nike

我正在尝试调试一个奇怪的问题。我有一个查询,它连接多个表以提取各种信息来填充发送的一些电子邮件。每当我尝试生成一些测试电子邮件来验证代码是否正常工作时,由于此查询问题,其中一封电子邮件生成时没有任何数据。

这是运行查询的函数:

function getSData($id,$uid)
{
global $sql;

echo "PID: ".$id." | UID: ".$uid."</br>";

if ($pd_stmt = $sql->prepare("select t1.Name,t2.SDate,t2.DCode,t3.Quantity,t2.Location,t3.Cost from seminar_events t2 inner join seminars t1 on t2.SID = t1.ID inner join cart_list t3 on t2.ID = t3.PID where t2.ID = ? and t3.CID = ?;"))
{
if ($pd_stmt->bind_param('ii',$id,$uid))
{
if ($pd_stmt->execute())
{
$pd_stmt->bind_result($sname,$sdate,$dcode,$qty,$slocale,$cost);
$pd_stmt->fetch();

echo "Array:";
print_r(array("Name"=>$sname,
"SDate"=>$sdate,
"DCode"=>$dcode,
"Quantity"=>$qty,
"Local"=>$slocale,
"Cost"=>number_format((float)$cost)));
} else{
echo $sql->error;
}
} else{
echo $sql->error;
}
} else{
echo $sql->error;
}
}

这是 PHP 输出:

103 //from an earlier echo checking the value of $pID just before this function is called and is passed as the first arg

PID: 103 | UID: 24

Array:

如果我采用此查询和上面的值并将它们替换为 ?查询中的参数并在 PHPMyAdmin 中运行它我得到了我期望的记录。

最佳答案

如果您将编写您正在使用的 SQL AL,它将很有帮助,因为它似乎不是 PDO 或 Mysqli。但我可以假设 - 它与两者相似,然后您应该看看方法 bind_param 采用哪些参数。 PDO中有参数、变量和变量类型。请检查此方法的引用,看看是否有一个 bind_value 方法,在这里会更好,或者执行方法是否无法获取输入参数,如 http://php.net/manual/de/pdostatement.execute.php 中所示。

关于php - 查询在 PHPMyAdmin 中运行,但不在 PHP 代码中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41500669/

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