我正在尝试将变量传递给我的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();
答案 0 :(得分:2)
您需要更新绑定类型。
$stmt->bind_param("ss", $DName, $DAddr1);
对应的变量具有类型字符串
http://php.net/manual/en/mysqli-stmt.bind-param.php
这假设你想要两者都是字符串;如果您希望地址为整数,请使用i
。