PDO插入不插入多个值

时间:2014-06-23 01:22:56

标签: php mysql pdo

所以我有一些我试图用PDO输入的数据。这是我的代码的样子

$DATA = $con->prepare("INSERT INTO users (key, ip) VALUES (:key, :ip)");
$DATA->bindValue(':ip', $ip, PDO::PARAM_STR);
$DATA->bindValue(':key', $key, PDO:PARAM_STR);
$DATA->execute();

问题是它不会进入数据库。它只适用于我这样做的一个值

$DATA = $con->prepare("INSERT INTO users (key) VALUES (:key)");

这是正常的吗?我是否为每个变量做个别陈述?

我的数据库

+-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
| key   | varchar(255)     | YES  |     | NULL    |                |
| ip    | varchar(255)     | YES  |     | NULL    |                |
+-------+------------------+------+-----+---------+----------------+

我收到错误

  

致命错误:未捕获的异常' PDOException' with message' SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;检查与您的MySQL服务器版本相对应的手册,以便在#1;密钥,IP)附近使用正确的语法(' 53a786577de99',' E6pdpExv6q363baea9cba210afac6d7a556fca596e30c'在第1行' in /Users/mike/Desktop/Mail/index.php:37堆栈跟踪:#0 /Users/mike/Desktop/Mail/index.php(37):PDOStatement-> execute()#1 {main}抛出第37行/Users/mike/Desktop/Mail/index.php

1 个答案:

答案 0 :(得分:3)

如果我记得,我认为KEY是一个保留词......试试回答。