繁体   English   中英

使用带AJAX的PHP将JS变量插入MySQL表的麻烦

[英]Trouble with inserting JS variable into MySQL table with PHP with AJAX

我几乎是所有这些技术的初学者,我整天都被困在我认为是一个相当简单的过程中。 基本上,我正在尝试使用AJAX将JS函数中的参数传递给我的PHP代码,然后将参数插入到我的数据库中。

我的.html文件中的JS函数。

    function pushData(paramData) {
    $.ajax({
        url: "databaseStuff.php",
        type: "post",
        data: paramData
        });
}

我希望在我的SQL表中插入任何我放入参数的内容。 例如,下面的代码应该创建3个新的数据库条目。 我把它们连接到我实际项目中的按钮。

pushData('It is Wednesday');
pushData('My Dudes');
pushData('AHHHHHHH!'); 

databaseStuff.php

<?php

$mysqli = new mysqli("localhost", "root", "default", "testDB");
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . 
$mysqli->connect_error;
}
echo $mysqli->host_info . "<br>";

$paramData = $_POST['paramData'];

$sql = "INSERT INTO testDBtable (Name, Text) VALUES ('Joe', '$paramData')";

?>

我的PHP成功连接到MySQL数据库,因为我通过TCP / IP获取了正确的“localhost”消息,但是,我被困在:

“注意:未定义的索引:第23行的C:\\ wamp64 \\ www \\ databaseStuff.php中的paramData

感谢帮助! 我不关心SQL注入漏洞,因为此代码永远不会离开localhost。

尝试编写像这样的Ajax数据参数

data: {
    'paramdata':paramdata
}

此外,您从未真正查询过您的数据。

mysqli_query($mysqli, $sql);

但是由于你得到的错误,可能是因为ajax数据参数。

如果您只想更正代码,请将AJAX查询替换为:

$.ajax({
    url: "databaseStuff.php",
    type: "post",
    data: {'paramData': paramData}
});

但是,由于SQL注入,您不应该直接将用户输入与sql查询连接,我建议您使用参数化查询。 这是PHP手册页,包含说明和示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM