這是.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