Я новичок в программировании на 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.
Я хотел бы получить все записи об одном пациенте. например, если я выберу пациента1. будут показаны все записи пациента1.
это мой запрос ..
$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, для правильного использования синтаксиса.
Заранее спасибо! надеясь на ответ! Благодаря 🙂
Попробуйте:
SELECT * FROM patientinfo, records WHERE (patientinfo.patient_id = $patient_id) AND (patientinfo.patient_id = records.patient_id);
Вы также можете указать список столбцов для отображения и назначить им псевдоним, например:
SELECT records.date AS the_date
WHERE records.patient_id = $patient_id
кажется нормально, если $ patient_id не является пустой строкой. Для этого я бы echo
запрос до его выполнения и проверил, все ли в порядке.