Php 使用JSON插入时出现的问题
我正在尝试像这样插入数据Php 使用JSON插入时出现的问题,php,jquery,mysql,ajax,json,Php,Jquery,Mysql,Ajax,Json,我正在尝试像这样插入数据 function submitData() { //Posting to ContactDB with JSON format $.post("contactDB.php", JSON.stringify({ name: $("#name").val(), email: $("#email").val(), phone: $("#phone").val(), message: $(
function submitData() {
//Posting to ContactDB with JSON format
$.post("contactDB.php",
JSON.stringify({
name: $("#name").val(),
email: $("#email").val(),
phone: $("#phone").val(),
message: $("#message").val()
}),
function(usrava){
// if data is inserted successfully than show insert success message in Result div
if(usrava=='Data Inserted')
{
$("#result").fadeTo(200,0.1,function(){
$(this).html('Your message is successfully saved with us. We will get back to you soon.').fadeTo(900,1);
});
}
//else show the error
else
{
$("#result").fadeTo(200,0.1,function(){
$(this).html(usrava).fadeTo(900,1);
});
}
});
}
'NameData','EmailData','PhoneData','MessageData'
ContactDB.php
有一些字符串
值。您需要正确使用”
s
VALUES ('" .implode("','",$data)."')"
解释
您正在使用的代码生成的值类似于-值('name,email,phone,message')
,这在语法上是错误的。它们都是string
s,需要包装在'
s中
(“.”内爆(“,”,$data)。“”)
-将正确地包装它们。它将生成-值('name'、'email'、'phone'、'message')
请尝试以下操作:
$postdata = implode("','", $data) ;
$insert = "INSERT INTO contact(Name,Email,Phone,Message) VALUES ('$postdata')";
函数内爆将用字符串连接数组元素。现在,您的函数是内爆(“,”,$data)
,它将使字符串如下所示
NameData,EmailData,PhoneData,MessageData
而你会希望这样做
function submitData() {
//Posting to ContactDB with JSON format
$.post("contactDB.php",
JSON.stringify({
name: $("#name").val(),
email: $("#email").val(),
phone: $("#phone").val(),
message: $("#message").val()
}),
function(usrava){
// if data is inserted successfully than show insert success message in Result div
if(usrava=='Data Inserted')
{
$("#result").fadeTo(200,0.1,function(){
$(this).html('Your message is successfully saved with us. We will get back to you soon.').fadeTo(900,1);
});
}
//else show the error
else
{
$("#result").fadeTo(200,0.1,function(){
$(this).html(usrava).fadeTo(900,1);
});
}
});
}
'NameData','EmailData','PhoneData','MessageData'
因此,要做到这一点,您需要使内爆函数看起来像这样内爆(“',”,$data)
,并且第一个和最后一个“
s已经从您编写的代码中输入 回显$insert,我猜语法不正确,请检查#result div,它显示的$data已经是一个关联数组,因此使用内爆将生成一个不同的字符串,然后再执行查询,只需打印$data即可,您将看到它与SQL语法不符,您需要删除'
s($postdata
Yes@b0s3)周围的'
s是正确的。如果没有
$postdata上的,这就行了。你能解释一下内爆吗,因为我是新来PHP的。哇,这是对我要找的东西的一个很好的解释