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を含めます。それでも同じエラーが発生します。これまで助けてくれてありがとう、何かアイデアはありますか?
致命的なエラー: 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);