2012-05-02 15 views
0

ユーザー登録時のタイムスタンプでcurrent_dateを格納するテーブルがあります。テーブルから日付を取得し、それをPHPの変数に格納する方法

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」 。私がどこでミスをしたのか教えてください。前もって感謝します。

+0

あなたはセキュリティについて少し考えます。あなたのコードはSQLインジェクション攻撃を受けやすい。 – bardiir

+0

参考までに、このクエリには深刻なセキュリティ上の欠陥があります。他のユーザーのユーザー名を送信して、私のものではないデータを取得するだけでなく、SQLインジェクション攻撃の脆弱性があります。詳細については、[Bobby Tables](http://bobby-tables.com/)を参照してください。 –

答えて

3

CURRENT_DATEは、今日の日付を返すMySQLの特別なキーワードで、関数CURDATE()の同義語です。カラムをバッククォートで囲むとうまくいくはずですが、カラムの名前をMySQLキーワードと矛盾しない名前に変更するほうが良いかもしれません。列が実際に保持する値はの現在の日付ではないので、ユーザーの登録日ではなく、registration_dateのような名前に変更することをお勧めします。

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

また、それが現在のSQL inejctionに対して脆弱であるとして、$unameをエスケープすることを忘れないでください。

$uname = mysql_real_escape_string($_POST['name2']); 
+0

ありがとう@マイケルそれは今働きます – maham

関連する問題