while($data = mysqli_fetch_array($rex)){
if($data['expiry']!=null){
$id = $data['id'];
$del = "DELETE FROM $itemlist (WHERE id = $id) AND (STR_TO_DATE(expiry,'%a %d-%M-%Y%H:%i:%s')<=CURRENT_TIMESTAMP)";
if (mysqli_query($conn, $del)) {
continue;
}
これは私がこれまで試みてきたものですが、何も問題はありません。いずれの行も削除されません。私はVARCHAR
に有効期限をMon 27-Mar-2017 23:11:50のように保存し、その列をNULLにすることができました。 id = 1の行や、有効期限がnullの行は何もしたくありません。私は何が欠けていますか?私がそれを削除した場合、私はid
を再配置できますか?id 1を削除せずにid 2から自動インクリメントを開始しますか?その(ID = $ IDをPHP:有効期限が過ぎ、1に等しくないMySQLから行を削除する
ああ!それはヌルを削除してもしても有効期限がまだ届きませんでしたすべての非ヌルを削除しないのですか?このようにしてみてくださいすることができます。 – soulofnature
でも、それが動作しない場合は、私は言っていますあなたはそれを使ってコードを爆発させます。 'STR_TO_DATE'セクションに他のエラーがある場合、このような小さなスニペットからは答えられません。たとえば、プログラムの最後に別の '}'のペアがありません。 – Forbs