无法更新数据库中的数据。 jQuery,php

时间:2015-04-24 18:03:16

标签: php jquery mysql database xampp

我在前端使用jQuery,在后端使用php。我有一些我修复过的原始问题。但现在我填写表格(注册)但数据库正在更新,甚至没有空行。在我在db中获得一些空行之前(我确信这一点,那天我的内存有点朦胧!抱歉!)我无法找到任何问题,因为错误或成功消息没有在jQuery文件中被点击。我尝试http://localhost/signup.php并在连接到db时显示成功消息。所以我确信它连接到正确的数据库。我也尝试使用php进行手动输入,我也可以导入数据。

我在下面添加了jQuery和php代码。我在XAMPP中使用了所有这些。提前致谢。 :)

jQuery:

$("#userReg_btn").click(function(e) 
{
    //user registration in


    var array = [];
    var flag = false;

    var fullName = $("#uFn").val();
    var email = $("#uEa").val();
    var mobile = $("#uMn").val();
    var nID = $("#uNm").val();
    var zip = $("#uZc").val();
    var prof = $("#uPc").val();



    array.push(fullName);
        array.push(email);
        array.push(mobile);
        array.push(nID);
        array.push(zip);
        array.push(prof);

        alert(array);
        console.log(array);
    $.ajax({
            url:"http://localhost/signup.php",
            data:
            {
                fullName: array[0],
                email: array[1],
                mobile: array[2],
                nID: array[3],
                zip: array[4],
                prof: array[5],
            },
            type:"POST",
            dataType:"json",
            success:function(e){
                alert("in success");
                alert(e);
                console.log("success");
            },
            error:function(e)
            {
                alert("error is hit");
                alert(e);
                console.log(e);
            }
        });
     });

和php文件:

<?php

header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 01 Jan 2016 00:00:00 GMT');

header('Content-type: application/json');
     $con=mysql_connect("localhost","root", "");
     mysql_select_db("tester",$con);


$name = $_GET['fullName'];
$email= $_GET['email'];
$mobile= $_GET['mobile'];
$nID = $_GET['nID'];
$zip = $_GET['zip'];
$prof= $_GET['prof'];
$query="INSERT INTO user_reg(fullName,email,mobile,nID,zip,prof) VALUES('$name','$email', '$mobile','$nID','$zip','$prof');";

echo $name;

   if(mysql_query($query))
   {
       echo "success";
   }else{
   echo  mysql_error();
   }

//}

?>

再次提前致谢:)

2 个答案:

答案 0 :(得分:2)

我在你的php脚本中发现了一个问题。在您的AJAX调用中,您将HTTP请求声明为post。但是在你的PHP脚本中,你使用$ _GET方法来查找变量。使用$ _POST。

在PHP脚本中:

$name = $_GET['fullName']

变成

$name = $_POST['fullName'];

对所有变量执行此操作。

您获得空白行的原因是因为变量是空白的。通过将方法更改为$ _POST,您的脚本将能够找到变量

答案 1 :(得分:1)

您的数据对象包含额外的,,不应该存在。另外,如果您发送 json(请注意,我不确定您是否愿意,但标题会提示):

data: JSON.stringify({
        fullName: array[0],
        email: array[1],
        mobile: array[2],
        nID: array[3],
        zip: array[4],
        prof: array[5]
}),

您还需要设置ajax帖子的contentType:

contentType: 'application/json',