Используя Mysqli bind_param со столбцами даты и времени?

В CentOS 6.5 короткий ответ от чистой установки:

yum -y install python-pip pip install -U pip pip install -U setuptools pip install -U setuptools

Вы не видите double, вы должны дважды запустить setuptools upgrade. Длинный ответ ниже:

Установка пакета python-pip с использованием yum приводит python-setuptools в качестве зависимости. Это довольно старая версия, и поэтому она фактически устанавливает distribute (0.6.10). После установки диспетчера пакетов мы обычно хотим его обновить, поэтому мы делаем pip install -U pip. Текущая версия pip для меня - 1.5.6.

Теперь мы переходим к обновлению setuptools, и эта версия pip достаточно умна, чтобы знать, что она должна сначала удалить старую версию дистрибутива. Он делает это, но вместо этого, вместо установки последней версии setuptools, она устанавливает setuptools (0.6c11).

В этот момент все виды вещей сломаны из-за этой чрезвычайно старой версии setuptools, но мы на самом деле почти на месте. Если теперь мы запустим ту же самую команду во второй раз, pip install -U setuptools, старая версия setuptools будет удалена, а версия 5.5.1 будет установлена. Я не знаю, почему pip не приводит нас прямо к новой версии одним выстрелом, но это то, что происходит, и, надеюсь, это поможет другим увидеть это и знать, что вы не сходите с ума.

53
задан Keith Lyall 29 April 2009 в 20:51
поделиться

3 ответа

Как и любая другая строка

$stmt = $mysqli->prepare('insert into foo (dt) values (?)');
$dt = '2009-04-30 10:09:00';
$stmt->bind_param('s', $dt);
$stmt->execute();
84
ответ дан 7 November 2019 в 08:39
поделиться

Мой ответ может быть немного вне темы. У меня была проблема в bind_param когда передающая дата. Дата была в (mm/dd/yyyy hh:mm:ss) формат. MySQL не брал его в (yyyy/mm/dd) формат (который является форматом по умолчанию типа даты в MySQL) в bind_param.

следующее форматирование даты решило проблему:

date('Y/m/d', strtotime($date_variable))
0
ответ дан 7 November 2019 в 08:39
поделиться

Метки времени в PHP являются целыми числами (количество секунд от Эпоха UNIX). Альтернативой вышеуказанному является использование параметра даты / времени целочисленного типа и функций MySQL FROM_UNIXTIME и UNIX_TIMESTAMP

$stmt = $mysqli->prepare("INSERT INTO FOO (dateColumn) VALUES (FROM_UNIXTIME(?))");
$stmt->bind_param("i", $your_date_parameter);
$stmt->execute();
14
ответ дан 7 November 2019 в 08:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: