这是.php文件的代码。 “memberid”列具有唯一的索引。当用户使用现有memberid输入记录时,记录必须更新,否则将创建一个新行。如果ID存在,则更新一行else
我也想显示一个警告框。出于测试目的,我像下面的方式添加,但它不是射击。没有消息显示。
我也想知道它是否是自动处理插入/更新的正确方法?
<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>";
}
?>
您是否意识到这样的事实:您的代码对任何一种sql注入都是开放的?我不知道你的“dbaccess”究竟做了什么,但是你将原始请求数据连接到查询中的方式会让我起鸡皮疙瘩。也许你应该考虑使用准备好的语句或至少'mysql_real_escape_string'? – shylent 2010-01-07 10:27:58
感谢您的建议。我会相应地改变。 – RKh 2010-01-07 10:58:16