php - 为什么我不能使用 php 插入 mysql 数据库?

标签 php mysql database

这是我的代码:

 $query = "INSERT INTO accounts (name, mail, group, year, active, password) VALUES  ('$name', '$email', '$group', '$year', '1', '$pass')";          
 $result = mysql_query($query) or DIE(mysql_error());

这是我的数据库

Field -  Type 
id       int(11) (auto increment)
name     varchar(30)
mail     varchar(30)
group    varchar(4)
year     varchar(3)
active   tinyint(1)
password varchar(36)

我得到这个错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group, year, active, password) VALUES ('Smith S. Ana Joy', 'ana' at line 1

我正在添加的示例或变量:

$name = Smith
$email = ana.smith
$group = A1
$year = I
$active = 1
$pass = a

最佳答案

GROUP 是一个 reserved word在 mySQL 中。

用反引号包裹它:

`group`

或使用不同的列名。

还要确保您的代码受到保护以防止 SQL injection (即每个变量在插入代码之前都经过清理)。

关于php - 为什么我不能使用 php 插入 mysql 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7371700/

相关文章:

mysql - 在 MySQL 中查找第二个最昂贵的总产品

python - 类型错误 : tuple indices must be integers, 不是 str Python/django

c++ - 如何使我的结构变量对所有函数都可见?

php - 将敏感数据存储在 JWT Payload 中是否安全?

php - 在 Highcharts 中从 PHP 加载 JSON 编码数据时,条形图不显示

php - PDO 多个命名占位符不检索数据

php - SQL/PHP : How to upload big database to server when I have import file size limit? 然后更新

sql - SELECT 的事务隔离级别

php - 更新两个表中的数据。一个在一列中包含多个数据

php - 如何通过 AJAX 请求验证用户?