0

我有一个表,在用户注册时按时间戳存储 current_date。

seeker
name.. current_date
ali...2012-04-22 22:12:36

现在我必须将此日期存储在某个变量中。我正在使用这个查询:

$uname= $_REQUEST['name2']; 

$qry5= "select current_date from seeker where name='$uname'";
                $res4=mysql_query($qry5, $con);
                $rs5= mysql_result($res4,0); 
                echo $rs5;

此查询应返回存储在用户“2012-04-22”的通信中的日期,但此查询返回今天的日期“2012-05-02”。请告诉我我在哪里做错了。提前致谢。

4

1 回答 1

3

CURRENT_DATE是 MySQL 中的一个特殊关键字,它返回今天的日期,作为 function 的同义词CURDATE()。如果您将列括在反引号中,它应该可以工作,但最好将列重命名为不与 MySQL 关键字冲突的名称。由于该列实际保存的值不是当前日期,而是用户的注册日期,我建议将其重命名为registration_date.

// Enclose current_date in backquotes as `current_date`
$qry5= "select `current_date` from seeker where name='$uname'";

另外,不要忘记 escape $uname,因为它目前容易受到 SQL 注入的影响。

$uname = mysql_real_escape_string($_POST['name2']);
于 2012-05-02T17:39:24.160 回答