使用Ajax插入记录


Inserting record using Ajax

我正试图使用jquery发布数据进行插入,但无法做到这一点,变量正在正确地获取值,但我不认为php页面在那之后就可以工作了,我不认为php页面有任何错误。这是我的代码

<script>
function print_this(){
var nit =$('#a').val();
var reg = $('#b').val();
var c = $('#csa').val();
var d = $('#dc').val();
var e = $('#Ee').val();
var f = $('#Er').val();
var w = $('#w').val();
var h = $('#w').val();
var i = $('#i').val();
PostValue(a,b,c,d,e,f,w,h,i)}
function PostValue(a,b,c,d,e,f,w,h,i){
 $.ajax({
type: "POST",
url: "print.php",
data: {a:a,b:b,c:c,d:d,e:e,f:f,w:w,h:h,i:i},
success:function(data){
$("#print").printThis();
}
})

}

这是我的php页面

$conn = mysql_connect('localhost','','') or die ("Connection Problem");
mysql_select_db("") or die ("Database Problem");
function print_this(){
$a = $_POST['a'];
$b = $_POST['b'];
$c = $_POST['c'];
$d = $_POST['d'];
$query = "select * from print where a = $a and b = $b and c = $c and d = $d";
$result = mysql_query($query);
if(mysql_num_rows($result) == 0)
{
 $query = "INSERT INTO print (id ,a,b,c,d,e,f,w,h,i) VAUES 
(NULL, '".$_POST['a']."','".$_POST['b']."','".$_POST['c']."','".$_POST['d']."','".$_POST['e']."','".$_POST['f']."','".$_POST['w']."','".$_POST['h']."','".$_POST['i']."')";
$result = mysql_query($query) or die();}

您需要在ajax帖子上设置内容类型,并将JSON字符串化。

$.ajax({
    type: "POST",
    url: "print.php",
    contentType: "application/json",
    data: JSON.stringify({a:a,b:b,c:c,d:d,e:e,f:f,w:w,h:h,i:i}),
    success: function (data) {
        $("#print").printThis();
    }
})

如果您支持较旧的浏览器,请确保包含JSON.js。

我注意到,当您将数据插入到表中时,您将数据视为varchar,但当您想要选择时,您没有将值放在单引号之间,有关更多详细信息,请在第一个mysql_query()、mysql_error()函数之后添加,以调试脚本。