所以,我有一个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());
提前致谢。
答案 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);