无法更新数据库中的数据。 jQuery、php
unable to update data in db. jQuery, php
我在前端使用 jQuery,在后端使用 php。我有一些跨源问题,我已经修复了。但现在我正在填写表格(注册),但数据库正在更新,甚至没有空行。在我在数据库中得到一些空行之前(我敢肯定,那天我的记忆有点模糊!抱歉!!)我找不到任何问题,因为 [=29= 中没有出现错误或成功消息] 文件。我尝试 http://localhost/signup.php 并在连接到数据库时显示成功消息。所以我确信它连接到正确的数据库。我还尝试使用 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();
}
//}
?>
再次提前致谢:)
您的数据 object 包含一个不应该存在的额外 ,
。此外,如果您要 发送 json(请注意,我不确定您是否愿意,但 headers 建议这样做):
data: JSON.stringify({
fullName: array[0],
email: array[1],
mobile: array[2],
nID: array[3],
zip: array[4],
prof: array[5]
}),
您还需要设置 ajax post 的 contentType:
contentType: 'application/json',
我发现您的 php 脚本有问题。在您的 AJAX 调用中,您将 HTTP 请求声明为 post。但是在您的 php 脚本中,您正在使用 $_GET 方法来查找变量。使用 $_POST.
在您的 PHP 脚本中:
$name = $_GET['fullName']
变成
$name = $_POST['fullName'];
对所有变量执行此操作。
您得到空白行的原因是变量为空白。通过将方法更改为 $_POST,您的脚本将能够找到变量
我在前端使用 jQuery,在后端使用 php。我有一些跨源问题,我已经修复了。但现在我正在填写表格(注册),但数据库正在更新,甚至没有空行。在我在数据库中得到一些空行之前(我敢肯定,那天我的记忆有点模糊!抱歉!!)我找不到任何问题,因为 [=29= 中没有出现错误或成功消息] 文件。我尝试 http://localhost/signup.php 并在连接到数据库时显示成功消息。所以我确信它连接到正确的数据库。我还尝试使用 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();
}
//}
?>
再次提前致谢:)
您的数据 object 包含一个不应该存在的额外 ,
。此外,如果您要 发送 json(请注意,我不确定您是否愿意,但 headers 建议这样做):
data: JSON.stringify({
fullName: array[0],
email: array[1],
mobile: array[2],
nID: array[3],
zip: array[4],
prof: array[5]
}),
您还需要设置 ajax post 的 contentType:
contentType: 'application/json',
我发现您的 php 脚本有问题。在您的 AJAX 调用中,您将 HTTP 请求声明为 post。但是在您的 php 脚本中,您正在使用 $_GET 方法来查找变量。使用 $_POST.
在您的 PHP 脚本中:
$name = $_GET['fullName']
变成
$name = $_POST['fullName'];
对所有变量执行此操作。
您得到空白行的原因是变量为空白。通过将方法更改为 $_POST,您的脚本将能够找到变量