Любая идея, почему это не работает? Я чувствую, что это имя строки, которое я дал. Это не эхо ничего
$result = mysql_query("SELECT UNIX_TIMESTAMP(datetime) FROM voters WHERE ip='$ip'") or die(mysql_error());
while($row = mysql_fetch_array($result)) {
$unixtimestamp = $row['UNIX_TIMESTAMP(datetime)'];
echo $unixtimestamp;
}
Nevermind, datetime не является зарезервированным словом, но я по-прежнему настоятельно рекомендую не использовать его и выбирать лучшее имя столбца.:), но ниже все еще стоит.
Псевдоним столбца, упрощает его вывод в массиве позже:
$result = mysql_query("SELECT UNIX_TIMESTAMP(`datetime`) as voted_on FROM voters WHERE ip='$ip'") or die(mysql_error());
while($row = mysql_fetch_array($result)) {
$unixtimestamp = $row['voted_on'];
echo $unixtimestamp;
}
Должен работать.
DATETIME
- это определение столбца при создании таблиц. Как таковой он может добавить путаницу и т. Д. Лучше избегать такого типа имен столбцов. IE строка для определения таблицы будет выглядеть так: datetime DATETIME NOT NULL,
Выглядит странно, и если позже MySQL сочтет это зарезервированным словом (без подсказки, если это произойдет), это сломает ваше приложение.
Во-первых, я бы рекомендовал не использовать datetime в качестве имени столбца в mysql.
Если бы у меня было поле DATETIME с именем vote_time, я бы сделал это следующим образом:
SELECT UNIX_TIMESTAMP(vote_time) AS unix_vote_time FROM voters WHERE ip='$ip'
Затем вы получите доступ к нему через
$unixtimestamp = $row['unix_vote_time'];