我在使用这段代码时遇到问题:
<?php
$new_value = 'testing';
$con = mysql_connect("localhost","user","pass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("INSERT INTO myDB (myField) VALUES ('$new_value')");
mysql_close($con);
?>
发生了 2 个问题:
第 1 - 2 条记录被插入而不是 1
第二 - $new_value 没有改变,它正在创建多个具有相同 $new_value 值的实例,而我只想要 1 个。
最佳答案
在阅读您的评论后,我认为这与您所追求的类似:
INSERT IGNORE INTO tablename (fields)
VALUES(values);
Use INSERT IGNORE rather than INSERT. If a record doesn't duplicate an existing record, MySQL inserts it as usual. If the record is a duplicate, the IGNORE keyword tells MySQL to discard it silently without generating an error.
编辑 或者正如 Vytautas 指出的那样;如果你想替换值使用 REPLACE 而不是 INSERT
关于PHP Insert Record into MySQL DB(正在添加多条记录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9941327/