Intereting Posts
Не предоставлять доступ к определенному методу в контроллере, если сеанс не установлен в кодеигниторе NetBeans неправильно сохраняет код (все в одной строке с квадратами, где должны быть разрывы строк) Как сравнить 2 таблицы в цикле Хранение элементов в массиве на каждой итерации foreach на PHP facebook connect- $ user_id = $ facebook-> getUser (); всегда возвращается 0 Получать сообщения с фильтром сообщений Ajax с флажками с несколькими выделениями Код php pdo, чтобы добавить дату с датой Как уничтожить определенную сессию PHP PHP PDO Bit (1) возвращает неверный тип данных php / mysql несколько порядков Не удается отправить учетную запись gmail с помощью функции mail () PHP CGI заменяет имя вызываемого файла в вызовах командной строки exec, вызывая бесконечный цикл Как исправить предупреждение «Создание объекта по умолчанию из пустого значения» в PHP PHP Lazy Boolean Evaluation Как удалить значения из массива в PHP?

Введите дату и время в Mysql

Я пытаюсь вставить дату и время в поле mysql datetime. Когда пользователь выбирает дату и время, он генерирует две переменные POST. Я искал интернет, но все еще не знаю, как это сделать.

Мой код.

//date value is 05/25/2010 //time value is 10:00 $date=$_POST['date']; $time=$_POST['time']; $datetime=$date.$time 

Если я вставляю $ datetime в mysql, дата выглядит 0000-00-00: 00: 00: 00

Я ценю это, если кто-нибудь может мне помочь в этом. Благодарю.

     $datetime = $_POST['date'] . ' ' . $_POST['time'] . ':00'; $datetime = mysql_real_escape_string($datetime); $query = "INSERT INTO table(timestamp) VALUES ('$datetime')"; 

    альтернативное решение, которое может обрабатывать больше форматов:

     $datetime = $_POST['date'] . ' ' . $_POST['time']; $datetime = mysql_real_escape_string($datetime); $datetime = strtotime($datetime); $datetime = date('Ymd H:i:s',$datetime); $query = "INSERT INTO table(timestamp) VALUES ('$datetime')"; 

    Дата должна иметь формат, показанный вам: 0000-00-00 00:00:00

    Итак, вы должны преобразовать его. Есть тысячи вопросов об этом преобразовании здесь на SO.
    Самый короткий путь

     list($m,$d,$y) = explode("/",$_POST['date']); $date = mysql_real_escape_string("$y-$m-$d ".$_POST['time']); 

    Я думаю, что формат datetime выглядит так:

     YYYY-MM-DD HH:MM:SS 

    поэтому вам нужно отформатировать ваше $ datetime, чтобы выглядеть так. И в вашем запросе, который должен быть инкапсулирован в отметках квоты.

    • Либо вы преобразовываете строку в формат YYYY-MM-DD HH:MM:SS самостоятельно,
    • или вы используете str_to_date() из MySQL.

      INSERT INTO значения таблицы DATETIME (str_to_date ($ date, "% m /% d /% Y% h:% i"))

    Насколько я помню, по умолчанию Mysql datetime должен быть в формате «yyyy-mm-dd hh: mm: ss».

    Я добавил дату и время в mysql db через API следующим образом:


    API вызовов

    http://localhost/SendOrder.php?odate=20120323&otime=164545

    1. Тип odate – DATE
    2. Тип otime – ВРЕМЯ в БД.

    Он будет хранить odate как 2012-03-23 ​​и otime как 16:45:45.