2012-05-06 6 views
2

Я пытаюсь вставить данные для доступа к базе данных, но у меня возникла проблема. Я знаю, проблема в том, что я вставляю значение date, потому что я попытался поместить туда NULL, и он сработал и вставил все, кроме даты. Я также попытался поместить дату в строку «дата», чтобы взять, как строку, но он не работал. Есть идеи?вставить данные даты в базу данных доступа, используя php?

$query_insert = "insert into orders (Ord_Date, Cus_Id_Fk, Book_Id_Fk) Values ($date,$cus_id, $book_id)"; 
$insert = odbc_exec($conn, $query_insert) or die (odbc_errormsg()); 

Как я уже сказал, этот с NULL работал, но мне нужна дата, которую нужно вставить.

$query_insert = "insert into orders (Ord_Date, Cus_Id_Fk, Book_Id_Fk) Values (null, $cus_id, $book_id)"; 
$insert = odbc_exec($conn, $query_insert) or die (odbc_errormsg()); 
+0

Каков формат/тип поля даты? 'DATE',' DATETIME', 'TIMESTAMP',' INT' и т. Д.? – jedwards

+0

@jedwards, это DATE – Illyricum

+2

Как выглядит ваша переменная '$ date? Это в формате ГГГГ-ММ-ДД? – jedwards

ответ

0

1.) управления строку формата даты мм/дд/гг
2.) кодировать его с одной цитатой

$query_insert = "insert into orders (Ord_Date, Cus_Id_Fk, Book_Id_Fk) Values ('$date',$cus_id, $book_id)"; 
+0

, если вы прочитали мой вопрос, я упомянул, что использовал одиночные кавычки, но он не работает! – Illyricum

+0

Что отображается сообщение об ошибке? следующая попытка альтернатива, включающая его # date # – KoolKabin

+0

Microsoft] [ODBC Microsoft Access Driver] Несоответствие типов данных в выражении критериев. Я также пробовал с # #, без успеха. – Illyricum

0

первый метод:

попробовать

SELECT Date(); 

в вашей базе данных доступа a nd получить формат даты. Затем отформатируйте дату в соответствии с этим форматом и используйте его в своем SQL.

второй метод:

преобразовать дату отметку времени с PHP, а затем сохранить его как это:

INSERT INTO TABLE значений (date_column) (DateValue (метка времени))

1

Так как ваш формат даты - MM-DD-YYYY, вы должны подготовить дату $, соответствующую этому формату. Вот как

$date = date("d-m-Y"); 
$query_insert = 'INSERT INTO .... '; 
+0

спасибо Starx, он отлично работал .. – Illyricum

+1

@Illyricum, Если вы не знали. После того, как вы ответите, вы должны принять этот ответ в качестве рабочего ответа. Нажмите на значок (галочка) слева от ответа. – Starx

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