使用jQuery和PHP插入MySQL数据库

时间:2011-01-25 19:34:40

标签: php jquery mysql html

我在这里遇到了一些问题,我不知道这段代码有什么问题。我很确定它是客户端,因为我没有得到任何PHP错误,但我可能错了。

我正在尝试获取一个表单,一旦提交,就可以通过对PHP文件的AJAX请求将文本字段中包含的信息插入到MySQL数据库中。

这是我在的地方:

/* index.php */

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="scripts/ajax.js"></script>


//...


        <div class="success" id="success"></div>
        <div class="err" id="err"></div>


 <!--Create Form-->
 <form action="" method="post" name="create" id="createForm" onsubmit="createNew(document.create.create2.value); return false;">        
        <h5>Create New File</h5>
        <p><input name="create2" type="text" maxlength="32" /></p>
 <input type="submit" name="submit" value="Create" />
 </form>


/* ajax.js */

function createNew(name)
{
 $('#loading').css('visibility','visible');

  $.ajax({
  type: "POST",
  url: "../utilities/process.php",
  data: 'name='+name,
  datatype: "html",
  success: function(msg){

   if(parseInt(msg)!=5)
   {
    $('#success').html('Successfully added ' + name + ' into database.');
    $('#loading').css('visibility','hidden');
    alert('success');//testing purposes
   }
   else
   {
    $('#err').html('Failed to add ' + name + ' into database.');
    $('#loading').css('visibility','hidden');
    alert('fail');//testing purposes
   }
  }
      })
}


/* process.php */

<?
include('db_connect.php');

if($_POST['name'])
{
 $name = $_POST['name'];
 $name = mysql_escape_string($name);
 $query = "INSERT INTO tz_navbar (name) VALUES (".$name.")";
 $result = mysql_query("$query") or die ("5");

}
?>

这是我的问题: 在我提交表单后,它会报告成功,但没有任何内容添加到我的数据库中。

先谢谢你们花时间帮助我。

3 个答案:

答案 0 :(得分:4)

查看您的查询,我怀疑您需要它:

$query = "INSERT INTO tz_navbar (name) VALUES ('".$name."')";

如果不能解决问题,则需要记录$ _REQUEST

的值
error_log(print_r($_REQUEST,true));

确保您在服务器端获得正确的值。

答案 1 :(得分:1)

你有$ _POST ['name'],但在你的表单中,输入type = text name =“create” 哪个应该是$ _POST ['create']。这就是你的$ _POST ['name']在传递时没有任何价值的原因。

答案 2 :(得分:0)

检查您的查询。

$query = "INSERT INTO tz_navbar (name) VALUES ('$name');

另外,您可以尝试在没有javascript的情况下测试process.php。这样你就可以看到mysql错误信息。使用die()或其他内容。