我几乎是所有这些技术的初学者,我整天都被困在我认为相当简单的过程中。基本上,我正在尝试使用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。
答案 0 :(得分:1)
尝试编写像这样的Ajax数据参数
data: {
'paramdata':paramdata
}
此外,您实际上从未查询过您的数据。
mysqli_query($mysqli, $sql);
但是由于你得到的错误,可能是因为ajax数据参数。
答案 1 :(得分:0)
如果您只想更正代码,请将AJAX查询替换为:
$.ajax({
url: "databaseStuff.php",
type: "post",
data: {'paramData': paramData}
});
但是,由于SQL注入,您不应该直接将用户输入与sql查询连接,我建议您使用参数化查询。以下是the PHP manual page的说明和示例