使用AJAX和PHP更新MySQL

时间:2015-06-01 00:34:02

标签: php jquery mysql ajax

我会慢下来,不是为了你...为我的。我试图做到这一点真的很新。我要做的是从HTML表中更新MySQL数据库。这就是每个人的建立方式。

 echo ("<td id=\"callsign:$row[recordID]\" contenteditable=\"true\" 
                onClick=\"showEdit(this)\"
                onBlur=\"saveToDatabase(this,'callsign',$row[recordID])\" 
                style='text-transform:uppercase'>
                $row[callsign]</td>");

这是它呈现的方式。

 <td id="callsign:6" contenteditable="true" onclick="showEdit(this)" onblur="saveToDatabase(this,'callsign',6)" style="text-transform: uppercase; background-color: rgb(253, 253, 253); background-position: initial initial; background-repeat: initial initial;">
                KA0SXY</td>

这是被调用的函数。

 function saveToDatabase(editableObj,column,id) {

        $(editableObj).css("background","#FFF url(loaderIcon.gif) no-repeat right");
            $.ajax({
                url: "saveedit.php",
                type: "POST",
                data:'column='+column+'&editval='+editableObj.innerHTML+'&id='+id,
                success: function(data){
                    $(editableObj).css("background","#FDFDFD");
                }  
            });
      }

这是PHP。

 <?php
require_once "dbConnectDtls.php";

    $result = mysql_query("UPDATE NetLog set " . $_POST["column"] . " = '".$_POST["editval"]."' WHERE  recordID=".$_POST["id"]);
    echo $result;

 ?>

当我从这个单元格切换到下一个单元格时,唯一执行的是.gif。 MySQL没有更新,我做错了什么?

提前感谢你不要像对待我一样对待我,但要帮助我学习。

建议的后续行动:

我担心我在这方面没有取得进展。是否有人愿意写一个我可以遵循的工作实例?

1 个答案:

答案 0 :(得分:1)

对于新手来说,你的脚本应该注意很多事情:

  1. 首先,您必须避免将$ _POST值直接插入查询中,因为这可能会导致sql injection问题。
  2. 您应该使用PDOMySQLi以相同的偏执原因执行查询。
  3. 你应该保持一致。为什么在使用JQuery时使用.innerhtml?你可以使用$(editableObj).html()
  4. 您不会显示任何javascript错误:您是否正在查看控制台?尝试右键单击页面正文并选择&#34;检查元素&#34;然后单击&#34;控制台&#34;出现框架的标签。
  5. 此外,您还没有打印&#34;数据&#34;返回的变量是否是服务器中的预期结果。你可以用:

    的console.log(数据);

  6. 除了你的脚本中的一切看起来都很好;)