2016-03-31 6 views
0

Мне нужно вставить данные с веб-страницы в базу данных. Я использую этот код, чтобы отправить его в PHP файлотправить json из jquery в 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); 
+0

Вы не показали нам никакого запроса хоть. Если у вас есть проблема с запросом, отредактируйте свой вопрос, чтобы включить запрос и схему таблицы. – Keeleon

+0

где запрос? – Tiger

+0

Добавлен запрос к сообщению, извините. –

ответ

0

ваш запрос

$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); 
+0

Ничего не происходит. Может быть, потому, что я меняю время начала и окончания на тип даты? Если я добавлю их как int (после внесения изменений в базу данных), это сработает. –

+0

Чтобы уточнить, я меняю время на дату ISO 8601 –

Смежные вопросы