Я отправляю данные для события в этом формате с помощью AJAX:Правильная вставка даты в дате MySql поле
doctor=100&date=2015-04-30&rCheck=1&rDate=2015-05-12&fromTime=21%3A35&toTime=22%3A40&status=open
Я получаю его, как это с PHP
$date = $_POST['date'];
$fromHours = $_POST['fromHours'];
$fromMinutes = $_POST['fromMinutes'];
$toHours = $_POST['toHours'];
$toMinutes = $_POST['toMinutes'];
$fromTime = $_POST['fromTime'];
$toTime = $_POST['toTime'];
$start = $date.' '.$fromTime.':00';
$end = $date.' '.$toTime.':00';
$status = $_POST['status'];
$doctor = $_POST['doctor'];
if($_POST['rCheck']==1){
$repeat = $_POST['rDate'];
}else{
$repeat = '0000-00-00';
}
Когда я эхо любого из что переменные получают правильный результат.
Я вставки данных в базе данных, как это:
$query = 'INSERT INTO events (start,end,doctor,status,repeat) VALUES ("'.$start.'","'.$end.'","'.$doctor.'","'.$status.'","'.$repeat.'")';
$result = mysqli_query($db, $query) or die (mysqli_error($db));
Теперь главная проблема $repeat
, потому что без него все вставляется без проблем, но с $repeat
я получаю эту ошибку:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'repeat) VALUES ("2015-04-30 21:35:00","2015-04-30 22:40:00","100","offen","2015-' at line 1
Вставка остановок после пятого символа «-». Даже если $repeat
0000-00-00
Поле для этого в базе данных - это поле даты в формате 0000-00-00
Я действительно не знаю, где проблема.
Благодарим за помощь.
Вы пытались вывести содержимое своего запроса, чтобы убедиться, что ожидаемые интерполированные переменные выбивают правильное значение? Выведите '$ query', чтобы увидеть фактический (полный) оператор, отправляемый в БД, вместо того, что вы показываете в ошибке. – Crackertastic