Forum » Server-Side scripting » Cronjob red light
Berichten: 2177
avatar
Offline Stuur privebericht
Hoi,
Voor http://www.gangster.nu ben ik met een 'red light' script bezig, nu moet enkel ieder uur via een cronjob een update worden uitgevoerd van geld.

Nu krijg ik een error en word er niets geupdated.
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
include (".../include/gegevens.php");
        
$dbres        mysql_query("SELECT * FROM `[gebruikers]` WHERE `hoeren`>'0'");
while(
$user mysql_fetch_object($dbres)) {
$ahoeren        =    $user->hoeren;
        
$winst $ahoeren 8;
        
$kosten $ahoeren 5.5;
        
$geld $winst $ahoeren
        mysql_query
("UPDATE `[gebruikers]` SET `zak`=`zak`+'$geld' WHERE `login`='{$user->gebruikersnaam}'");
}
        echo (
"Cronjob is succesvol uitgevoegd");
?>


is mijn code
Code | Selecteer Alles
minimaliseren
1
2
mysql_query("UPDATE `[gebruikers]` SET `zak`=`zak`+'$geld' WHERE `login`='{$user->gebruikersnaam}'");
}

daar zit de fout in.

Weten jullie wat ik fout doe?

Alvast bedankt,
robin
Laatst gewijzigd door RiiCky op 2010-10-31 10:31:49
31-10-2010 00:22
Dit topic is 255 keer bekeken door 47 verschillende leden
Reacties op: "Cronjob red light"
1
BOE!
Berichten: 459
avatar
Offline Stuur privébericht
Probeer dit eens je bent een ; vergeten

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
include (".../include/gegevens.php");
        
$dbres        mysql_query("SELECT * FROM `[gebruikers]` WHERE `hoeren`>'0'");
while(
$user mysql_fetch_object($dbres)) {
$ahoeren        =    $user->hoeren;
        
$winst $ahoeren 8;
        
$kosten $ahoeren 5.5;
        
$geld $winst $ahoeren;
        
mysql_query("UPDATE `[gebruikers]` SET `zak`=`zak`+'$geld' WHERE `login`='{$user->gebruikersnaam}'");
}
        echo (
"Cronjob is succesvol uitgevoegd");
?>
31-10-2010 00:28
Hardstyle
Berichten: 225
avatar
Offline Stuur privébericht
Probeer is achter de query.

Code | Selecteer Alles
minimaliseren
1
or die(mysql_error());


Er neer te zetten en zeg ons wat de error is.

Edit:
Zoiets dus.

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
include(".../include/gegevens.php");

// kijken met de die(mysql_error()) of er een error is, zo niet dan gaat het script verder
$dbres mysql_query("SELECT * FROM `[gebruikers]` WHERE `hoeren` > '0'") or die(mysql_error);

while(
$user mysql_fetch_object($dbres))
{
    
$winst $user->hoeren 8;
    
$kosten $user->hoeren 5.5;
    
$geld $winst $user->hoeren;

    
// kijken met de die(mysql_error()) of er een error is, zo niet dan gaat het script verder
    
mysql_query("UPDATE `[gebruikers]` SET `zak`=`zak`+'$geld' WHERE `login`='{$user->gebruikersnaam}'") or die(mysql_error);
}

echo (
"Cronjob is succesvol uitgevoegd");
31-10-2010 00:40
Berichten: 49
avatar
Offline Stuur privébericht
$geld = $winst - $ahoeren

$geld = $winst - $kosten;
31-10-2010 01:59
Rapifia Europe
Berichten: 3714
avatar
Offline Stuur privébericht
Werkt deze:
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php 
include "../include/gegevens.php"

$dbres        mysql_query("SELECT hoeren, gebruikersnaam FROM [gebruikers] WHERE hoeren  >'0'"); 
while(
$user mysql_fetch_array($dbres)) { 
$ahoeren $user['hoeren']; 
        
$winst $ahoeren 8
        
$kosten $ahoeren 5.5
        
$geld $winst $kosten
        
mysql_query("UPDATE [gebruikers] SET zak=zak+'".$geld."' WHERE login='".$user['gebruikersnaam']."'"); 

        echo 
'Cronjob is succesvol uitgevoerd'
?>


Je was een ; vergeten en een variabele moest buiten de quotes.
Verder nog wat schoonheids foutjes zoals `` in de veldnamen verbeterd. En je hoeft geen * te gebruiken als je maar 2 veldnamen nodig hebt .

Lars
31-10-2010 08:11
Berichten: 2177
avatar
Offline Stuur privébericht
Hoi,
Iedereen al heel erg bedankt voor de hulp, nu geeft die idd "Cronjob is succesvol uitgevoerd" aan maar schrijft er niets bij,
Mijn database gebruikers ziet er zo uit (heb alleen ff genomen wat hierbij van toepassing is)
gebruikers
| gebruikersnaam
| zak
| hoeren

Dit zal ook vast en zeker een slordigheidsfoutje zijn waar ik de hele tijd overheen keek, want die query had ik ook al 5 keer opnieuw getypt aangezien ik wis dat daariets fout in zat.

Alvast bedankt,
Robin
31-10-2010 09:57
Rapifia Europe
Berichten: 3714
avatar
Offline Stuur privébericht
Vóila:
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php 
include "../include/gegevens.php"

$dbres        mysql_query("SELECT hoeren, gebruikersnaam FROM gebruikers WHERE hoeren  >'0'"); 
while(
$user mysql_fetch_array($dbres)) { 
$ahoeren $user['hoeren']; 
        
$winst $ahoeren 8
        
$kosten $ahoeren 5.5
        
$geld $winst $kosten
        
mysql_query("UPDATE gebruikers SET zak=zak+'".$geld."' WHERE login='".$user['gebruikersnaam']."'"); 

        echo 
'Cronjob is succesvol uitgevoerd'
?>
31-10-2010 13:01
Berichten: 2177
avatar
Offline Stuur privébericht
Thnx! die werkt
31-10-2010 13:02
Reageer op: "Cronjob red light"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden