将json从jquery发送到php并插入数据库


send json from jquery to php and insert into database

我需要将网页中的数据插入数据库。我正在使用此代码将其发送到php文件

    $.getJSON('./calendar.php?action=save&id=0&start='+ds.getTime()/1000+'&end='+df.getTime()/1000,
      { 
        'body':$('#calendar_new_entry_form_body').val(), 
        'title':$('#calendar_new_entry_form_title').val() 
      }

然后我想将这4个字段插入到mySQL数据库中。现在,我可以使用检索数据

  $start_date=(int)$_REQUEST['start'] - 60*60;
  $data=array( 
    'title'=>(isset($_REQUEST['title'])?$_REQUEST['title']:''), 
    'body' =>(isset($_REQUEST['body'])?$_REQUEST['body']:''), 
    'start'=>date('c',$start_date), 
    'end'  =>date('c',(int)$_REQUEST['end'] - 60*60) 
    ); 

然后我把它保存到一个会话变量中,看看我是否真的收到了

  $id=(int)$_REQUEST['id']; 
  if($id && isset($_SESSION['calendar'][$id])){ 
    $_SESSION['calendar'][$id]=$data; 
  }  
  else{ 
    $id= ++$_SESSION['calendar']['ids']; 
    $_SESSION['calendar'][$id]=$data; 
  }

我在另一个页面的会话中使用var_dump,数据正在正确传递。

session_start(); 
var_dump($_SESSION);
echo "<br>";
echo $_SESSION['calendar'][1]['title'];
echo "<br>";
echo $_SESSION['calendar'][1]['start'];

我似乎不能做的是将这些数据插入数据库。每次我尝试运行查询时,都不会发生任何事情。

我使用的查询是:

$query1 = "INSERT INTO `doc`.`appointment` (`start`, `end`, `title`, `body`) VALUES ('$data['start']', '$data['end']', '$data['title']', '$data['body']');";
      $result1 = $con->query($query1);

您的查询

$query1 = "INSERT INTO `doc`.`appointment` (`start`, `end`, `title`, `body`) VALUES ('$data['start']', '$data['end']', '$data['title']', '$data['body']');";
  $result1 = $con->query($query1);

我已经稍微纠正了一下,试试这个

$query1 = "INSERT INTO `doc`.`appointment` (`start`, `end`, `title`, `body`) VALUES (".$data['start'].", ".$data['end'].", ".$data['title'].", ".$data['body'].")";
  $result1 = $con->query($query1);