我目前正在尝试使用以下PHP函数/ SQL查询以及编辑我正在为学校建立的项目的药物的页面。我收到以下错误,无法找到错误的位置:
语法错误或访问冲突:1064 SQL语法中出错;
function edit_medicine($medicine_name, $medicine_dose, $medicine_date, $medicine_current, $medicine_id) {
global $db;
$query = "UPDATE Medicine
SET MedicineName = :medicine_name,
Medicine Dose = :medicine_dose,
MedicineDatePrescribed = :medicine_date,
MedicineCurrent = :medicine_current
WHERE MedicineKey = :medicine_id";
$statement = $db->prepare($query);
$statement->bindValue(':medicine_name', $medicine_name);
$statement->bindValue(':medicine_dose', $medicine_dose);
$statement->bindValue(':medicine_date', $medicine_date);
$statement->bindValue(':medicine_current', $medicine_current);
$statement->bindValue(':medicine_id', $medicine_id);
$statement->execute();
$statement->closeCursor();
}
我很感激任何人都可以提供任何帮助 - 这是决赛周的结束,我完全被烧毁了。谢谢!
答案 0 :(得分:4)
对列名称使用引号,尤其是Medicine Dose
列,因为它的空格()。下次,请勿使用空格来命名列:
$query = "UPDATE `Medicine`
SET `MedicineName` = :medicine_name,
`Medicine Dose` = :medicine_dose,
`MedicineDatePrescribed` = :medicine_date,
`MedicineCurrent` = :medicine_current
WHERE `MedicineKey` = :medicine_id";
答案 1 :(得分:0)
如果双引号或反引号不起作用,请尝试将字符串包含在方括号内。
例如
SELECT [Business Name],[Other Name] FROM your_Table