В форме, которую я построил, форма проверяется с помощью проверки 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 'prepare'. И.Е. что если фамилия O'Neil – Waygood
Он использует mysqli, его просто он не делает это правильно/безопасно – allen213
Скажите, пожалуйста, вы знаете о SQL-инъекциях ... –