gpt4 book ai didi

php - 使用 bindParam 的 SELECT 查询不返回任何内容

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

    public function showSingleVisit(){
//echo $this->doctorID; the printed 1111
//$this->doctorID = 1111;
$db = connect_db();
$query = "SELECT * FROM visit WHERE doctorID = :doctorID";
$result = $db->prepare($query);
$result->bindParam(':doctorID', $this->doctorID);
$result->execute();
return $result;
}

此查询不返回任何行,但是当输入 $this->doctorID = 1111 时,我得到了想要的行。我在此类的 INSERT 查询中使用 bindParam 并且工作正常。有什么问题?

更新:

   class visit{
//define public varibles
public function showSingleVisit(){
$db = connect_db();
$query = "SELECT * FROM visit WHERE visit = 0 AND doctorID = :doctorID AND patientID = :patientID";
$result = $db->prepare($query);
$result->bindParam(':patientID', $this->patientID);
$result->bindParam(':doctorID', $this->doctorID);
$result->execute();
return $result;
}
}

下面是我如何调用另一个页面上的函数:

    $visit = new visit;
$visit->doctorID = $auth->user->IDNo;
$visit->caseNo = $_SESSION['caseNo'];
$result = $visit->showSingleVisit();
if($result){
while($row = $result->fetch()){
echo'<p>
<label>Date:</label>
<span>'.$row->visitDate.'</span>
</p>';
}
}
else{
echo "No exists!";
}

它既不显示任何日期,也不打印“不存在!”。

最佳答案

你必须指定参数的类型:

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

看这里:

http://php.net/manual/fr/pdostatement.bindparam.php

关于php - 使用 bindParam 的 SELECT 查询不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25382057/

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