在我創建的表單上,表單通過Javascript spry驗證進行驗證,然後發送到一個php表單,該表單通過POST方法。PHP表單並不總是寫入數據庫
然後有一個sql查詢,如下所示將數據提交給數據庫。
$title = $_POST["title"];
$first_name = $_POST["first_name"];
$surname = $_POST["surname"];
$address1 = $_POST["address1"];
$address2 = $_POST["address2"];
$town = $_POST["town"];
$county = $_POST["county"];
$country = $_POST["countries"];
$telephone_home = $_POST["telephone-home"];
$telephone_mobile = $_POST["telephone-mobile"];
$comments = $_POST["comments"];
$letter = $_POST["q1-letter"];
$updates = $_POST["q1-updates"];
$paye = $_POST["PAYE"];
//establish connection
$con= mysqli_connect("localhost","#######","###########","############");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_query($con,"INSERT INTO wp_donations (prefix, first_name, second_name, amount, address1, address2, citytown, county, country, email, comments, letter, updates, paye)
VALUES ('$title','$first_name','$surname','$amount2','$address1','$address2','$town','$county','$country','$email','$comments','$letter','$updates','$paye')");
mysqli_close($con);
?>
現在大多數時候這似乎工作得很好,而且我做的任何測試都能正常工作。然而,我的客戶報告說有數據庫中沒有顯示的表單條目。該表單用於處理付款,客戶通過數據庫中的信息和付款處理程序日誌交叉檢查付款。
我不能爲了我的生活弄清楚他們中的一些可能不會出現在數據庫中,因爲沒有通過這個php頁面來處理付款是沒有辦法的(它也包含支付處理組件)
可能有我在這裏失蹤的東西,可能允許付款被處理,但不會顯示在數據庫中?
您的幫助總是非常讚賞
它可能是數據破壞你的SQL,你不使用mysql_escape_string(),切換到mysqli或PDO「準備」。 I.E.如果姓氏是奧尼爾 – Waygood 2013-05-09 09:35:10
他正在使用mysqli,只是他沒有正確/安全地做它 – allen213 2013-05-09 09:35:50
請告訴我你對SQL注入攻擊的瞭解... – 2013-05-09 09:36:07