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'";

また、エスケープすることを忘れないでください$uname。現在、SQL インジェクションに対して脆弱です。

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