微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP函数中的SQL更新查询错误

我目前正在尝试使用以下PHP函数/ SQL查询一个页面来编辑我正在为学校建立的项目的药物.我收到以下错误,无法找到错误的位置:

Syntax error or access violation: 1064 You have an error in your sql Syntax;

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();
}

我很感激任何人都可以提供任何帮助 – 这是决赛周的结束,我完全被烧毁了.谢谢!

解决方法:

对您的列名称使用引号,尤其是您的药物剂量列,因为它的空格().下次,不要使用空格来命名列:

$query = "UPDATE `Medicine`
             SET `MedicineName` = :medicine_name, 
             `Medicine Dose` = :medicine_dose, 
             `MedicineDatePrescribed` = :medicine_date, 
             `MedicineCurrent` = :medicine_current
             WHERE `MedicineKey` = :medicine_id";

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐