Я новичок в javascript, и я пишу приложение с использованием javascript с php на стороне сервера, я пытаюсь использовать AJAX для отправки данных на мой php-скрипт. Это мой код ниже
Javascript:
$(document).on("click", ".uib_w_18", function(evt)
{
var lecturer = document.getElementById("reg_name").value;
//var lecturer = $("#reg_name").val();
var dept = document.getElementById("reg_dept").value;
var level = document.getElementById("reg_level").value;
var course = document.getElementById("reg_course").value;
var start = document.getElementById("reg_time_1").value;
var ade = 2;
window.alert(lecturer);
var dataString = '?ade=' + ade+'&lecturer='+lecturer+'&dept='+dept +'&level='+level+'&course='+course+'&start='+start;
$.ajax({
type: "GET",
url: 'http://localhost/my_queries.php',
data: dataString,
success: window.alert ("I've been to localhost.")
});
window.alert(dataString);
});
и на стороне сервера:
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbname = "myDatabase";
$dbpass = null;
//Connect to MySQL Server
echo "yo";
$con = mysqli_connect($dbhost, $dbuser,$dbpass,$dbname);
$level = $_GET['level'];
$lecturer = $_GET['lecturer'];
$sql = "INSERT INTO level1(message, department)
VALUES ($level,'Jane')";
$sql2 = "INSERT INTO level1(message, department)
VALUES ($lecturer,'Jane')";
if ($con->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $con->error;
}
?>
теперь проблема '$ SQL1' выполняется успешно, но '$ SQL2' не делает. Я был на это некоторое время и выяснил, что $ _GET в скрипте работает только для числовых данных. Я подтвердил, что проблема связана не с типом данных моей таблицы, я могу вставлять литеральные строки непосредственно из PHP, я также подтверждаю, что «dataString» собирает данные так же, как я хочу. (window.alert (dataString);) отображает правильный вывод. Я чувствую, что мне не хватает чего-то очень простого, но я просто не могу понять, что это такое. и я почувствовал, что дополнительные пары глаз помогут, любая помощь будет оценена, спасибо.
[Обязательное предупреждение инъекции SQL] (https://stackoverflow.com/questions/60174/how-can-i-prevent -sql-injection-in-php) – jDo
* «но« $ sql2 »нет.» * - Простой; вы никогда не исполняли его. И если '$ lecturer' является строкой в' VALUES ($ lecturer, 'Jane') ', это тоже не поможет. –