PDO语法错误,SQLSTATE [42000]

时间:2012-12-03 03:40:38

标签: mysql syntax pdo

我收到以下错误,我看不到问题。谢谢你的帮助。

  

致命错误:带有消息'SQLSTATE [42000]的未捕获异常'PDOException':语法错误或访问冲突:1064 SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在“唯一”VALUES附近使用正确的语法('XX.XXX.XX.X','03/12/2012','XX.XXX.XX.X - 03 / 12/2012')'在第1行'/home/content/07/XXX/html/header.php:11堆栈追踪:#0 /home/content/07/XXX/html/header.php(11) :PDOStatement-> execute(Array)#1 /home/content/07/XXX/html/index.php(15):include('/ home / content / 0 ...')#2 {main}抛出第11行/home/content/07/XXX/html/header.php

$ip = $_SERVER['REMOTE_ADDR'];
$date = date("d/m/Y");
$unique = $ip." - ".$date;

$data = array($ip, $date, $unique, $date);
$STH1 = $DBH->prepare("INSERT INTO uniques (ip, date, unique) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE date = ?");
$STH1->execute($data);

1 个答案:

答案 0 :(得分:3)

使用反引号包装uniquer,因为它是一个保留关键字

例如

INSERT INTO uniques (ip, date, `unique`) ...