Ik wil graag een cronjob maken die het veld status UPDATE in D wanneer de ingevoerde veld datum groter is als 5 weken. Ik dacht het op onderstaande manier te kunnen doen maar krijg een error, iemand enig idee wat ik hieronder hout doe?

$query="UPDATE aanmelding SET status = 'D' WHERE DATE_ADD(datum, interval +5 week) AS datum > NOW() ;
$result = mysql_query($query) or die ("FOUT1: " . mySql_error());
Bedankt Jasper, ik heb je foutafhandeling zo toegepast.


<?php

# We zetten dit volledig bovenaan

    # errors weergeven
    ini_set('display_errors',1); // 1 == aan , 0 == uit
    error_reporting(E_ALL | E_STRICT);

    # sql debug
    define('DEBUG_MODE',true);  // true == aan, false == uit


    # functie voor sql debug
    function showSQLError($sql,$error,$text='Error')
    {
        if (DEBUG_MODE)
        {
            return  '<pre>Error: ' . $error . '<br />' . $sql . '</pre>';
        }
        else
        {
            return $text;
        }
    }   

// verbinding met database invoegen

require("iets.php");
# de query | bij input: let op sql-injectie -> mysql_real_escape_string()
$sql = "UPDATE aanmelding SET status = 'D' WHERE NOW() - INTERVAL 1 day > datum";
$result = mysql_query($sql);
#  Check of query is gelukt    
if (($result = mysql_query($sql)) === false) 
{
    # als de query fout is -> foutafhandeling
    echo showSQLError($sql,mysql_error(),'Fout met database.');
}
else 
{
    # De query is gelukt
}
?>
dat ziet er goed uit.. als je niets weergeeft als de query is gelukt kan je rij 38 tot 41 weglaten ;)
Dus ik kan dan ook tussen rij 38 en 41 een mailafhandeling plaatsen met welke rijen zijn geupdate.
ja tussen 39 en 41 zou je een mailafhandeling kunnen zetten.

Reageren