$_GET PHP行为不端

$_GET PHP is misbehaving

本文关键字:行为不端 PHP GET      更新时间:2023-09-26

我是一个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.aalert(dataString);)显示正确的输出。我觉得我错过了一些非常基本的东西,但我就是不知道它是什么。我觉得多加一双眼睛会有帮助,任何帮助都将不胜感激,谢谢。

传递"动态"SQL查询的正确方法如下:

$sql = "INSERT INTO level1(message, department)
        VALUES ('".$level."','Jane')";
$sql2 = "INSERT INTO level1(message, department)
        VALUES ('".$lecturer."','Jane')";