q-6ren">
gpt4 book ai didi

php - 将参数绑定(bind)到 pdo 函数

转载 作者:行者123 更新时间:2023-12-01 00:53:40 25 4
gpt4 key购买 nike

我正在尝试编写以下函数来显示 MySQL 表的内容。

$q=$_GET["q"];
function risk_allocation($db)
{
$result = $db->query("select r.risks as risks,r.risktype as risktype,j.job as job from risks r LEFT OUTER JOIN `jobsrisks` j on r.risks = j.risk and j.job=:q");
$result ->bindParam(':q', $q, PDO::PARAM_INT);
return $result;
}
$allocationlist = risk_allocation($db);

然后我调用函数:

while($row = $allocationlist->fetch(PDO::FETCH_ASSOC)) 
{
echo $line['risks'];
echo $line['risktype'];
}

我收到错误消息:

Fatal error: Call to a member function bindParam() on a non-object in /home/she/public_html/versionfour/getrisksperjob.php on line 11

第11行在哪里

$result ->bindParam(':q', $q, PDO::PARAM_INT);

我觉得这是一个简单的问题,因为我刚被介绍给 pdo,但一如既往地感谢任何帮助。

更新

根据建议的答案,我的代码现在如下所示,用于执行查询并包含变量 q。但是仍然会发生相同的错误。感谢到目前为止的帮助,有什么想法吗?

fatal error :在第 11 行调用/home/she/public_html/versionfour/getrisksperjob.php 中非对象的成员函数 bindParam()

function risk_allocation($db,$q)  
{
$result = $db->query("select r.risks as risks,r.risktype as risktype,j.job as job from risks r LEFT OUTER JOIN `jobsrisks` j on r.risks = j.risk and j.job=:q");
$result ->bindParam(':q', $q, PDO::PARAM_INT);
$result->execute();
return $result;
}
$allocationlist = risk_allocation($db,$q);

最佳答案

你忘了execute查询,此外你需要准备而不是调用查询:

$result = $db->prepare("select r.risks as risks,r.risktype as risktype,j.job as job from risks r LEFT OUTER JOIN `jobsrisks` j on r.risks = j.risk and j.job=:q"); 
$result->bindParam(':q', $q, PDO::PARAM_INT);
$result->execute();

关于php - 将参数绑定(bind)到 pdo 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13118261/

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