Я пишу страницу PHP, которая работает на сервере и принимает несколько параметров POST и добавляет их на сервер после проверки их с помощью REGEX. По какой-то причине мой сервер (используя WAMP-сервер) показывает пустой набор результатов после успешного выполнения кода и после того, как я перенаправлен на страницу в конце.Тип данных mySQL сервера WAMP? База данных mySQL не обновляется в PHP?
Я думаю, что это может быть мой код, но может быть, возможно, это так, как настроен сервер, в настоящее время все мои столбцы имеют тип «int (11)», и я не знаю, какой тип выбрать.
<?php
if(isset($_POST["name"]) && isset($_POST["email"]) && isset($_POST["pnumber"])){
$name = $_POST["name"];
$number = $_POST["pnumber"];
$email = $_POST["email"];
$db = new PDO("mysql:dbname=daythree", "root", "");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if(preg_match("/^[0-9]{10}$/", $number) &&
preg_match("/^[A-Za-z]{2,}[\sA-Za-z]*$/", $name) &&
preg_match("/^[A-z0-9_\-]+[@][A-z0-9_\-]+([.][A-z0-9_\-]+)+[A-z.]{2,4}$/", $email)){
$sql = "INSERT INTO daythree ('name', 'email', 'number') VALUES ('. $name .', '. $email. ', '. $number .')";
header("Location: evilmasterminds.php");
die();
}
}
Спасибо и приносим извинения за любые неприятности.
'Int' не будет правильным выбором для' 'name' и email' и заявление SQL неправильно - возможно, следует больше как '$ sql =" INSERT INTO daythree ('name', 'email', 'number') VALUES ('{$ name}', '{$ email}', '{$ number}') ";' – RamRaider
и почему, когда вы используете PDO, вы не используете подготовленные инструкции - вы отрицаете одно, что защищает от вредоносной SQL-инъекции, встраивая POST-переменные в sql? Кроме того, не используйте одиночные кавычки вокруг имен столбцов - вместо этого используйте обратную ссылку! – RamRaider
Я изменил строку $ sql; Я занимаюсь только кодированием с нескольких месяцев, и это больше для меня эксперимент по редактированию баз данных для личного использования, поэтому я не беспокоюсь о его стороне безопасности. Также спасибо за помощь! :) Кстати, что я должен изменить Int? Есть немало вариантов, и я не уверен, что было бы правильно :( – JsDart