我是Android编程新手,我遇到查询问题。我试图搜索类似的问题,但我什么也没找到:)所以,这里..
给出这个patientinfo表
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服务器版本,以便使用正确的语法。
提前谢谢!希望得到答案!谢谢:))
答案 0 :(得分:1)
尝试:
SELECT *
FROM patientinfo, records
WHERE (patientinfo.patient_id = $patient_id) AND (patientinfo.patient_id = records.patient_id);
您还可以专门列出要显示的列,并为它们指定别名,例如:
SELECT records.date AS the_date
只要$ patient_id不是空字符串,WHERE records.patient_id = $patient_id
就好了。为此,我在执行它之前echo
查询并检查它是否正常。