【发布时间】:2017-05-24 06:26:34
【问题描述】:
我用这个函数来调用我的数据库
function get_prescriptionWith_4($ID){
$sql = "SELECT prescriptions FROM tblprescriptions WHERE `ID`='$ID'";
$query = $this->dbh->prepare($sql);
$query->execute();
$row = $query->fetchAll(PDO::FETCH_ASSOC));
return @$row;
}
我的数据库表是这样的..
ID | prescription
1 | Med (gen) 20 -- #20/1X per day --morning--for 30 days/,
1 | test (test) 23 -- #343/1X per day --morning and noon-- 120 days23/,
samp (rere) 44 -- #34/1X per day --morning-- 7 days44/,
1 | asd (asd) 22 -- #222/3X per day --morning noon and evening--30 days/,
qw (wq) 44 -- #222/3X per day --morning noon and evening--60 days/,
1233 (123) 21 -- #123213/1X per day --morning--- 60 days/,
我想要实现的是加载具有相同 ID 的所有处方,并且由于行处方里面有多个数据,我使用 explode 将数据与 分开,当我尝试使用 Fetch(PDO::FETCH_ASSOC) 时,我只返回第一个处方我认为使用 fetchAll 可能会更好地从我的数据库中获取所有数据..
$pres_array3=$patient->get_prescriptionWith_4($ID);
$new_array3=explode(',',$pres_array3,-1);
但是当我使用echo $new_array3 来检查是否在fetchAll 上时没有返回任何内容
【问题讨论】:
-
Errrm 对不起,这根本不是一个准备好的声明。不过调试很简单,您可以运行一些错误检查函数来查看是否返回任何 pdo 错误,而不是返回数据。
-
@HankyPanky 准备好的语句是有效的,OP 只容易受到 SQL 注入的攻击。请改用参数化语句。
-
这实际上是 fetch(PDO::FETCH_ASSOC) 开始,但我的问题是如果我使用 fetchAll 没有返回任何内容,这就是我发布该内容的原因,因为我认为这是我的问题..
-
print_r($this->dbh->errorInfo());