2016-12-09 6 views
0

私はpdoを使用していますが、現在の日付より前の日付(有効期限)のレコードを削除しようとしています。私は特に、削除機能テーブル名、wehre句とバインディンするのparamsに渡すレコードを削除しないでください。

DELETE FROM auth_tokens WHERE expires < :currentTime;" 

public function delete($table, $where, $bind = "") 
{ 
    $sql = "DELETE FROM " . $table . " WHERE " . $where . ";"; 
    $this->run($sql, $bind); 
} 
実は私は値が自動的にこの文でバインド少しPDOラッパーを作りました

として実行する機能は、データをバインドし、文を実行します:問題の一切レコードが削除されていないことを

binding result: [":currentTime"]=> string(27) "09-12-2016 21:21:56.7358640" 

。現在の時間よりも期限切れのレコードをすべて削除しようとしています。09-12-2016 21:21:56.7358640

なぜですか?

+1

日付を文字列形式でデータベースに保存しないことをお勧めします。それは問題になる可能性があります。 –

+0

あなたの日付を文字列として実際の日付に変換する必要がありますobj – Eric

+0

dbの日付はdatetime形式です – AgainMe

答えて

2

標準DATETIMEデータタイプを使用している場合、日付のフォーマットが正しくないように見えます。 YYYY-MM-DD HH:MM:SSのようにフォーマットしてみてください。

+1

良い、この作品 – AgainMe