Database Query
Op een of andere manier lukt het mij niet om met een query die elke minuut moet worden uitgevoerd, iets in de database
te planten. Hij update niet wanneer ik wil en daarom vraag ik om jullie hulp...
Hieronder het script:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$dbresbeurs = mysql_query("SELECT UNIX_timeSTAMP('time') AS time, name FROM [instellingen] WHERE name='beurs'");
$beurs = mysql_fetch_object($dbresbeurs);
if($beurs->time + 60 < time()) {
mysql_query("UPDATE [instellingen] SET time=NOW() WHERE name='beurs'");
}
?>
$dbresbeurs = mysql_query("SELECT UNIX_timeSTAMP('time') AS time, name FROM [instellingen] WHERE name='beurs'");
$beurs = mysql_fetch_object($dbresbeurs);
if($beurs->time + 60 < time()) {
mysql_query("UPDATE [instellingen] SET time=NOW() WHERE name='beurs'");
}
?>
Maar de Database wordt helaas niet geupdate, terwijl dit volgens mijn verwachtingen,
wel zou moeten.
Ik hoop dat iemand mij kan vertellen wat ik fout doe en wat er verbeterd moet worden.
Bij voorbaat dank,
Ricolo
Verder controleer je nergens wat er fout gaat, geen wonder dat je dan niet weet wat er fout gaat. Foutafhandeling, de basis van ieder goed script.
pgFrank, die blokhaken zijn gewoon de tabellen, de tabel heet [instellingen]. Wat zou ik dan kunnen doen, om wel een goede foutafhandeling te krijgen?
Nooit meer gebruiken en voortaan alleen kleine letters gebruiken voor tabel- en kolomnamen. Daar kun je prima mee uit de voeten en scheelt je vele uren debuggen.
Zie verder de tutorials, daar staan ook fraaie voorbeelden van foutafhandeling tussen.
je kan bijvoorbeeld beginnen met een query echoen als hij het niet doet.
altijd query in een variabelen zetten.
een voorbeeld van een query met een heel basic foutafhandeling:
Code (php)
1
2
3
4
2
3
4
<?php
$query = "UPDATE instellingen SET time=NOW() WHERE name='beurs'";
mysql_query($query) or die(mysql_error().'in Query:'.$query);
?>
$query = "UPDATE instellingen SET time=NOW() WHERE name='beurs'";
mysql_query($query) or die(mysql_error().'in Query:'.$query);
?>
Gewijzigd op 01/01/1970 01:00:00 door michael
Zoek je in de tabel instellingen naar 'beurs' (letterlijk) of de waarde van $beurs?
'time' is een gereserveerd woord in SQL. Gebruik gewoon Nederlandse woorden, zul je (bijna) nooit problemen mee krijgen.