我试图上传信息到我的DB,但它一直给我一个语法错误。
$query = "INSERT INTO `klant` (`naam`,`adres`,`postcode`,`email`,`nieuwsbrief`) VALUES ($naam,$adres,$postcode,$plaats,$email,$nieuwsbrief)";
我使用的查询应该工作,因为它是相同的PHPMyAdmin。
我收到的错误:
PHP Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064查看与您的MariaDB服务器版本对应的手册,以获取在'4,1234 ab,Rotterdam,email@gmai.com,1)'附近使用的正确语法
两个错误:
- 在插入查询中指定了五列,但是您试图放入六个值。它们应该匹配。(
plaats
缺失) - 字符串值应该在插入语句中使用引号
""
。
另外,rickdenhaan提到了一个很好的观点。像这样使用变量是危险的,因为它允许SQL注入,特别是如果变量是由public填充的。