插入忽略不工作在PHP中给出错误

时间:2018-02-20 20:35:38

标签: php psql

所以,我有一个php脚本,其中我从数据源获取数据并将其保存到数组中,并使用php将数组值插入到我的psql服务器中。

问题是我不想在我的数据库中有任何重复项,因为我会不断更新我的表。所以我查了一下,发现IGNORE INTO避免重复,但是php会抛出错误。

此外,由于我的桌子上没有任何主键,是否有可能实现这一点。

我的错误代码:

PHP Fatal error:  Uncaught Exception: Error attempting to query: PDOException: SQLSTATE[42601]: Syntax error: 7 ERROR:  syntax error at or near "IGNORE"

我的php脚本在psql server中插入数据

$psql = $stm->pdo_prepared("Insert IGNORE INTO student(student_id,student_email,student_message,student_marks)VALUES".implode(',',$arry1());

提前致谢。

1 个答案:

答案 0 :(得分:0)

请发布错误,但我相信您可能会收到语法错误。您需要括号中的值和一些可能导致语法错误的空格。

$psql = $stm->pdo_prepared("INSERT IGNORE INTO student (student_id,student_email,student_message,student_marks) VALUES (".implode(',',$arry1()) . ")";

我还建议你做以下事情。您可以在此处查看更多信息:

http://php.net/manual/en/pdo.prepared-statements.php

$stmt = $dbh->prepare("INSERT IGNORE INTO student (student_id, student_email, student_message, student_marks) VALUES (:student_id, :student_email, :student_message, :student_marks)");
$stmt->bindParam(':student_id', $student_id);
$stmt->bindParam(':student_email', $student_email);
$stmt->bindParam(':student_message', $student_message);
$stmt->bindParam(':student_marks', $student_marks);