Я новичок в PHP и MySQL и ищу помощи в следующем.
Я хотел бы сохранить электронную почту пользователя и выбранный язык в базе данных при нажатии кнопки.
Я подумал, что могу использовать для этого Ajax, поэтому я поместил приведенный ниже вызов Ajax в свой файл функций JS, чтобы передать данные в отдельный файл Ajax (ajax.php
), который затем вставит их в БД ("Users
").
Когда я предупреждаю значения в JS, они отображаются правильно, поэтому мои входные переменные в порядке, а также вызов Ajax возвращает «success
» после передачи данных, но я не могу заставить это что-либо вставить в мою базу данных.
Когда я запускаю тот же INSERT вручную в базе данных, он работает нормально.
Может кто-нибудь сказать мне, что я делаю неправильно здесь?
Мой вызов Ajax (в моем файле функций):
$('#btnID').on('click', function(){
var email = $.trim( $('#email').val() ).toLowerCase();
var lang = $.trim( $('#lang').val() );
$.ajax({
url: "ajax.php",
type: "post",
cache: "false",
data: {
email: email,
lang: lang
},
success: function(data) {
console.log(data);
alert("success");
},
error: function(){
alert("failure");
}
});
});
Мой PHP (в моем файле ajax.php):
$conn = new mysqli($servername, $username, $password, $dbname);
$conn->set_charset("utf8");
if($conn->connect_error){
die("Connection failed: " . $conn->connect_error);
}
$email = $_POST["email"];
$lang = $_POST["lang"];
$sql = "INSERT INTO Users (email, lang) VALUES ('" . $email . "', '" . $lang . "')";
$conn->close();
Заранее большое спасибо, Майк