在我的php5代码中我想使用UNIX_TIMESTAMP函数将日期时间转换为unix时间戳而不使用php代码进行转换,因为我相信这种方式更快但是你如何从行集中获取unix时间戳,即如何索引到行集 获取整数unix时间戳
以下是数据库架构的摘要
age int(5)
user varchar(256)
created timestamp CURRENT_TIMESTAMP
$query="SELECT user, UNIX_TIMESTAMP(created) FROM accounts WHERE age='$age'" ;
$result = mysql_query($query) or die ('Error querying domain');
while($row = mysql_fetch_array($result))
{
$callerid = $row['callerid'];
$created_ts = $row['created'];
etc....
答案 0 :(得分:4)
或使用AS
子句为您的专栏提供 更具描述性的名称 ,如下所示:
UNIX_TIMESTAMP(created) AS ucreated
你可以这样说:
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$created_ts = $row['ucreated'];
............
更多信息:
答案 1 :(得分:2)
使用别名SELECT user, UNIX_TIMESTAMP(created) AS created FROM accounts
答案 2 :(得分:1)
默认情况下(MYSQL_BOTH),mysql_fetch_array
为您提供数字和关联索引。所以你可以这样做:
$created_ts = $row[1];
或者,给它一个名字:
$query="SELECT user, UNIX_TIMESTAMP(created) AS created_ts FROM accounts WHERE age='$age';";
// ...
$created_ts = $row['created_ts'];
另请注意,如果age
来自用户输入,则应在连接之前使用mysql_real_escape_string
。或者切换到支持预准备语句的框架(如PDO或MySQLi)。