php - 我的 php 没有从 ajax 请求将值插入到我的 sql 数据库中
问题描述
我在一个测试 php 网站的页面上调用一个函数来显示一个 html 表单来记录要通过 ajax 提交到我的 SQL 数据库的数据,但由于某种原因没有插入数据。我在包含的 header.php 中有所有必需的引导程序、js、ajax 链接,并且我有其他表单提交到测试站点上同一数据库中的表,这些表工作没有问题,因此数据库连接似乎很好,这是为什么我如此努力地弄清楚为什么没有插入数据。
这是 MAMP 上使用 MySQL 5、PHP 5 的 localhost 测试服务器。
我的文件包含调用时显示 html 条目表单的代码在 functions.php 中:
<?php
session_start();
$link = mysqli_connect("localhost", "user", "pass", "tables");
if (mysqli_connect_errno()) {
print_r(mysqli_connect_error());
exit();
}
// other code ...
function displayTextInput() {
global $link;
echo '
<div class="form">
<div class="form-group">
<textarea class="form-control" id="textDesc" placeholder="Description"></textarea>
<textarea class="form-control" id="textType" placeholder="Type"></textarea>
</div>
<button id="postTextButton" class="btn btn-primary">Post Text</button>
</div>';
}
?>
我的 ajax 调用在 footer.php 内的脚本中:
<script>
$("#postTextButton").click(function() {
$.ajax({
type: "POST",
url: "actions.php?action=postText",
data: {textDesc: $("#textDesc").val(), textType: $("#textType").val()},
success: function(result) {
if (result == "1") {
alert("ajax successful");
} else if (result != "") {
alert("ajax unsuccessful");
}
}
})
})
</script>
最后我的 SQL 在 actions.php 中:
if ($_GET['action'] == 'postText') {
if (!$_POST['TextDesc']) {
echo "Your text description is empty!";
} else {
$textDesc = mysqli_real_escape_string($link, $_POST['textDesc']);
$textType = mysqli_real_escape_string($link, $_POST['textType']);
$userIDForTable = mysqli_real_escape_string($link, $_SESSION['id']);
mysqli_query($link, "INSERT INTO text (`description`, `type`, `userid`) VALUES ('$textDesc', '$textType', '$userIDForTable')");
echo "1";
}
}
我可以在 actions.php else { } 部分中回显语句,因此代码肯定连接到那里,但我似乎真的无法弄清楚原因。我什至将上面的代码链接到同一个数据库中的不同 php 表并让它工作,所以我无法理解为什么这不起作用。我也可以看到控制台中没有错误。任何帮助将不胜感激。
谢谢
解决方案
单词text是 MySQL 中的一个特殊单词,我认为您的查询引发了错误。在您的插入语句之后将此添加到您的代码中:
var_dump(mysqli_error($link));
我知道我应该将此作为评论发布,但我没有足够的意义发表评论。
推荐阅读
- css - ReactTransitionGroup 动画未在状态更改时播放
- php - docker 从图像中编写 php 应用程序
- odoo - odoo.exceptions.ValidationError:验证视图时出错:
- xml - XSLT 在 XML 问题中插入 2 个不同的元素
- graph - 如何使用 GCN 训练图(单个节点回归)?
- flutter - 如何格式化来自firebase的快照以列出或设置地图标记
- webpack - [monaca-editor, webpack, react]:导出自定义组件错误
- mysql - SQL,如果子查询中的属性返回任何内容,否则返回所有内容
- javascript - 如何在 HTML Canvas 中缩小弧/椭圆的大小
- ng2-smart-table - rowClassFunction 在 ng2-smart-table 中无法正常工作