[英]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.