无法使用ajax和php将输入上传到mysql数据库

时间:2015-07-17 18:07:08

标签: javascript php html ajax

我正在尝试使用ajax和php将简单的用户输入文本从输入框上传到mysql数据库。这个想法是在按下'显示'然后可以从数据库中检索文本并显示在页面上。

我想在这里尝试实现的是HTML:

    <input type=text id="newjotting"><input type="submit" id="submit" value="Sumbit">
    <input type="button" id="display" value="Update Display">
    <div id="grabjottingsdiv">Jottings go here.</div>

数据库和表格&#39;记录&#39;已经创建了。当提交&#39;点击,这个javascript被执行:

    function newjotting()
    { var newjot = document.getElementById("newjotting").value ;
      var jotURL = "line=" + newjot ;
      Ajax("POST", jotURL, "api/addjot.php", function(data){});
     document.getElementById("newjotting").value = "" ;
    }

    document.getElementById("submit").addEventListener("click", function(data){ newjotting();});

使用此Ajax函数:

    function Ajax(method, value, URL, callback)
    { var ajaxObj = new XMLHttpRequest();
      ajaxObj.open(method, URL, true);
      if (method == "POST")
         { ajaxObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); } ;
      ajaxObj.onreadystatechange = function()
              { if (ajaxObj.status == 200)
                   if (ajaxObj.readyState == 4)
                      callback(ajaxObj.responseText);
              };
      ajaxObj.send(value); 
     }

应该将它发送到这个php:

    <?php

   $hostname = "localhost" ;

   $username = "root" ;

   $password = "" ;

   $option = array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION) ;

   $_DB = new PDO("mysql:host=$hostname;dbname=ds6", $username, $password, $option) ;

   try {

       $newjotting = $_POST["line"] ;
       $q = "INSERT INTO jottings( jotting) VALUES (:newjot)" ;
       $query = $_DB->prepare($q) ;
       $query->bindValue(":newjot", $newjotting);
       $query->execute();

   $_DB = null

   }

    catch(PDOException $e) {

        echo $e->getMessage();

    }

   ?>

我已经尝试过使用php进行了很多更改但没有成功。我开始认为它可能是Ajax的一个问题,但我不知道该尝试什么。在有人要求之前,我不应该使用jQuery。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

问题解决了。我相信这是因为我需要执行$ q而不是$ query。它始终是小事......