0

私はPHPとMySqlが初めてです。order_before が現在の日時を過ぎたテーブルから行を削除したいと考えています。order_before は日付/時刻型です。

4

2 に答える 2

2
<?php
$db = new PDO('mysql:host=localhost;dbname=db','root','root');

if(filter_has_var(INPUT_POST, 'submit')) {
  $now = date("Y-m-d H:i:s");
  $r = $db->query("SELECT * FROM db WHERE datetime < '".$now."'");
  $n = $r->rowCount();
  if ($n){
    while($o = $r->fetchObject()) {
      $db->query('DELETE FROM db WHERE id = '.$o->id);
    }
  }
}

たぶん上記のようなものでしょうか?(テストされておらず、トップから外れています)。

于 2012-12-14T01:43:00.283 に答える
1

ステートメントに条件を追加するだけで十分簡単です。

$sql = sprintf("DELETE FROM mytable WHERE order_before > '%s'", date('Y-m-d H:i:s'));
$db->exec($sql);
于 2012-12-14T02:18:25.027 に答える