首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我的php没有从ajax请求向我的sql数据库插入值

我的php没有从ajax请求向我的sql数据库插入值
EN

Stack Overflow用户
提问于 2019-05-15 06:30:52
回答 1查看 30关注 0票数 -1

我在一个测试php网站的页面上调用了一个函数,以显示一个html表单来记录要通过ajax提交到我的SQL数据库的数据,但由于某些原因没有插入任何数据。我有所有需要的引导,js,ajax链接在一个包含的header.php中,我有其他表单提交到测试网站上的同一数据库中的表,这些都没有问题,所以数据库连接看起来很好,这就是为什么我很难弄清楚为什么数据没有被插入。

这是一个在MAMP上使用MySQL 5,PHP5的本地主机测试服务器。

我的文件包含在被调用时显示html条目表单的代码,它在functions.php中:

代码语言:javascript
复制
<?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中的脚本中进行的:

代码语言:javascript
复制
<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中:

代码语言:javascript
复制
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表中,并让它正常工作,所以我就是想不通为什么它不能工作。在控制台中我也看不到任何错误。任何帮助都将不胜感激。

谢谢

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56139461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档