未捕获的PDOException:SQLSTATE [42000] - 尝试插入数据

时间:2017-09-30 01:55:31

标签: mysql pdo syntax insert fatal-error

我阅读并在过去两小时内努力运行我的代码。但我的SQL查询中出现语法错误,任何人都可以帮助我吗?

我的代码:

$query = "INSERT INTO `article` (`text`,`headline`,`date`,`author`,`active`) SET (?,?,?,?,?)";
$stmt = $pdo->prepare($query);
$stmt->bindValue(1, $text, PDO::PARAM_STR);
$stmt->bindValue(2, $headline, PDO::PARAM_STR);
$stmt->bindValue(3, $date, PDO::PARAM_STR);
$stmt->bindValue(4, $author, PDO::PARAM_STR);
$stmt->bindValue(5, $active, PDO::PARAM_INT);
if($stmt->execute()) {  //do something }

致命错误:

  

未捕获的PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;检查与您的MariaDB服务器版本对应的手册,以便在'SET('some text','test headline','2017-09-30','author123',1)附近使用正确的语法'

不过,我怎么能使用php代码?

由于

2 个答案:

答案 0 :(得分:-1)

尝试更改" SET"在您对" VALUES"的查询中,您使用" SET"在那种情况下是不正确的。

答案 1 :(得分:-1)

您的语法不正确。检查MySQL文档: https://dev.mysql.com/doc/refman/5.7/en/insert.html

使用插入查询时,使用:

INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);