我传递给AJAX的变量只是数字

时间:2015-12-13 22:24:46

标签: php jquery mysql ajax

我正在尝试将变量传递给我的ajax调用,以将它们插入到我的mysql数据库中。一切似乎工作正常,除了它只传递给ajax的数字。如果字符串是“1486某某地”。它只在数据库中插入“1486”,并在所有仅alpha字段中插入0。我缺少一个变量规则吗?我会在这里发布部分代码。

HTML:

SaveCustomer($("#CustName").val(), $("#CustAddress1").val())
...
function SaveCustomer($Name, $Addr1){     
  $.ajax({ 
    type: "POST", 
    url: "savecust.php",
    data: {"Name": $Name, "Addr1": $Addr1}, 
    dataType: 'json',
    success: function(result){      
    }
  }); 
}

PHP:

$DName = $_POST["Name"];
$DAddr1 = $_POST["Addr1"] ;
$stmt = $con->prepare("INSERT INTO tblCustomers (CustomerName, CustomerAddress) VALUES (?,?)");
$stmt->bind_param("ii", $DName, $DAddr1); 
$stmt->execute(); 
$stmt->close();

1 个答案:

答案 0 :(得分:2)

您需要更新绑定类型。

$stmt->bind_param("ss", $DName, $DAddr1);
  

对应的变量具有类型字符串

http://php.net/manual/en/mysqli-stmt.bind-param.php

这假设你想要两者都是字符串;如果您希望地址为整数,请使用i