我正在尝试通过表单序列化方法插入数据。这是我的ajax。
if (isset($_POST["AddInventory"])) {
$AddInventory = $_POST["AddInventory"];
$sql = "insert into `tblinventory` ( Bill_No, SKU_No, Purchase_Price, Discount_Price, Discount, Qty, , Deal, Created_Date, Modified_Date, IsDeleted)values ('" . $AddInventory["Bill_No"] . "','1','" . $AddInventory["Purchase_Price"] . "' ,'" . $AddInventory["Discount_Price"] . "','" . $AddInventory["Discount"] . "','" . $AddInventory["Qty"] . "',,'" . $AddInventory["Deal"] . "',now() ,now() ,'0' )";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "" . mysqli_error($conn);
}
exit();
}
这是我的DB文件,我根据建议进行了更改
var_dump
修改
现在我要
了非法字符串偏移'Bill_No'
错误;
我在输出中没有响应,在控制台中也没有显示脚本错误
我试图搜索并实现我认为相关的代码, 仍然存在问题,任何帮助都会很明显
修改2
我测试{{1}},我得到了这样的回复
答案 0 :(得分:2)
您将data
中的整个AddInventory
作为URL编码格式传递,使用parse_str()
您可以将其作为数组获取。所以在PHP aceess中就像这样
if(isset($_POST["AddInventory"])){
parse_str(urldecode($_POST["AddInventory"]),$AddInventory);
$sql = "insert into `tblinventory` ( Bill_No)values ('".$AddInventory["Bill_No"]."' )";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
}
}
重要提示:您的代码易受SQL注入攻击,准备语句(使用PDO)
答案 1 :(得分:0)
LoginControllerImpl
数组不包含$_POST
,而是包含url编码的param数组。
使用Bill_no
函数将params解码为数组,然后从中获取urldecode($_POST)
。
答案 2 :(得分:0)
您需要按以下方式发送数据
$("#owl-slider").owlCarousel({
loop:true,
margin:0,
nav:true,
autoplay:true,
dots: true,
transitionStyle: 'fade',
autoplayTimeout:3000,
autoplayHoverPause:true,
video:true,
lazyLoad:true,
center:true,
responsiveClass:true,
responsive:{
0:{
items:1
},
600:{
items:1
},
1000:{
items:1
}
}
});