这是 .php 文件的代码。列“memberid”具有唯一索引。当用户输入具有现有 memberid 的记录时,必须更新该记录,否则将创建新行。
我还想显示一个警报框。为了测试目的,我像下面的方式添加了,但它没有触发。没有显示任何消息。
我也想知道自动处理插入/更新是否是正确的方法?
<META http-equiv="refresh" content="2; URL=socialprofile.html">
<?php
error_reporting(E_ALL ^ E_NOTICE);
require_once("../Lib/dbaccess.php");
//Retrieve values from Input Form
$CandidateID = $_POST["inCandidate"];
$SocialProfile = $_POST["inActivities"];
$InsertQuery = "INSERT INTO candidate_db_social (memberid, socialactivities, lastupdated) VALUES (".$CandidateID.",'".$SocialProfile."',now())";
$UpdateQuery = "UPDATE candidate_db_social SET socialactivities='".$SocialProfile."', lastupdated=now() WHERE memberid=".$CandidateID;
try
{
$Result = dbaccess::InsertRecord($InsertQuery);
}
catch(exception $ex)
{
$Result = dbaccess::InsertRecord($UpdateQuery);
echo "<script type='text/javascript'>alert('".$ex."');</script>";
}
?>
最佳答案
您应该使用 MySQL ON DUPLICATE KEY 子句:
http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
另请参阅替换:
关于php - 如果 ID 存在则更新行,否则插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2019510/