【发布时间】:2014-02-06 19:09:12
【问题描述】:
我是 android 编程新手,但遇到查询问题。我试图搜索类似的问题,但一无所获:)所以,在这里..
鉴于此患者信息表
patient_id | name | gender | age
1 | jen | female | 20
2 | jay | male | 19
和记录表
patient_id | date | description
1 | 01-01-14 | healthy!
1 | 02-01-14 | healthy!
2 | 01-01-14 | needs medication.
我想获取某个患者的所有记录。 例如,如果我选择了 patient1.. 将显示 patient1 的所有记录。
这是我的查询..
$query = "SELECT * FROM records INNER JOIN patientinfo ON records.patient_id = patientinfo.patient_id WHERE records.patient_id = $patient_id";
try{
$stmt = $dbname->prepare($query);
$result = $stmt->execute();
}catch(PDOException $ex){
$response["success"] = 0;
$response["message"] = $ex;
die(json_encode($response));
}
但它给了我一个sql语法错误,我认为它在$patient_id
errorInfo:您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法。
提前感谢您!希望有答案!谢谢:)
【问题讨论】:
-
"但它在 sql 语法中吐出错误..." - 存在?
-
你在哪里设置了你的 patient_id 变量?
-
与您的问题无关,但首先,不要存储某人的年龄。它改变。存储他们的出生日期并计算年龄。其次,只选择您需要的字段,而不是选择 *。第三,当您使用关键字作为列名时,许多数据库会变得挑剔。在这种情况下,该字段是日期。
-
我认为这类问题不应该被否决。 OP 至少尝试过并正在寻求帮助。
-
无论是 php、coldfusion、.net 还是什么,首先让您的查询直接针对数据库工作通常是个好主意。如果它在那里工作但在您的应用程序中不起作用,那么您知道问题不在于您的 sql。如果您认为问题可能出在您的变量上,请改为硬编码一个值并尝试。