繁体   English   中英

使用AJAX和PHP更新MySQL

[英]Update MySQL using AJAX and PHP

我会慢慢走,不是为了你。是我的。 我真的很想这样做。 我正在尝试从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. 首先,您必须避免将$ _POST值直接插入查询中,因为这可能会导致sql注入问题。
  2. 出于同样的偏执原因,您应该使用PDOMySQLi执行查询。
  3. 您应该保持一致。 为什么在使用JQuery时使用.innerhtml? 您可以使用$(editableObj).html()
  4. 您没有显示任何JavaScript错误:您是否正在查看控制台? 尝试右键单击页面正文,然后选择“检查元素”,然后单击出现的框架的“控制台”选项卡。
  5. 另外,您不打印返回的“数据”变量,以查看服务器中的预期结果。 您可以这样做:

    的console.log(数据);

除此之外,脚本中的所有内容看起来都不错;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM