Forum » Server-Side scripting » rand functie error in script
Berichten: 409
avatar
Offline Stuur privebericht
Hallo,

Ik was bezig met een soort target script, hier ga ik niet echt veel uitlegt over geven. Hij is nog niet af maar ik heb een rare error in mijn random functie.

Mijn script:
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<table border='0' cellspacing='1' width='96%' bgcolor='#000' align='center'>
    <tr>
        <td colspan='2' class='top'>
            Hitlist
        </td>
    </tr>
    <tr>
        <td class='inhoud_c' width='25%' style='padding: 5px; vertical-align: top;'>
            <img src='IMG/sniperscope.jpg' width='180' height='120' STYLE="border: solid 1px black;">
        </td>
        <td class='inhoud_c' width='75%' align='center'>
        <br>
        Welkom <b><?php echo $naam?></b>,<br><br>
            Hier kan je werken voor de maffia, om de 3 dagen hebben ze wel weer iemand die dood moet!<br>
            Jij mag de vieze klusjes doen, als je een target krijgt moet je hem of haar vermoorden!<br>
            Elke keer als dit lukt krijg je geld of eerpunten, dit licht aan jouw opdracht!
                    </td>
    </tr>
</table>
<br>

<form method="post" action="nav.php?p=target">

<table border='0' cellspacing='1' width='96%' bgcolor='#000' align='center'>
    <tr>
        <td class='top'>
            Jouw target
        </td>
    </tr>
    <tr>
        <td class='inhoud_c' style='padding: 20px;'>
        

            <table border='0' cellspacing='1' width='70%' bgcolor='#000' align='center'>
            <?php
            
if ($go['target'] < 1) {
    print 
" <img src='IMG/kruis.jpg' alt='' border='0'>";
    echo 
'Je hebt nog geen target!<br><br><br>
<center><input type="submit" name="new" value="Ik wil een target!"></center>'
;
}
elseif (
$go['target'] > 0) {
        echo 
' ';
}
?>
<?php



if(isset($_POST['new'])){
    
$status mysql_query("SELECT `target` FROM `speldata` WHERE `id`=".ID) or die(mysql_error());
$go mysql_fetch_assoc($status);

$get mysql_query("SELECT `id` FROM `speldata` WHERE `leven`>0 ORDER BY RAND() LIMIT 1") or die(mysql_error());
$res mysql_fetch_assoc($get);

$target $res['id'];

$reward rand(1,2);

    
if (
$res['target'] >= 1) {
    print 
" <img src='IMG/kruis.jpg' alt='' border='0'>";
    echo 
'Je hebt al een target!';
        
}
    
elseif (
$reward == 1) {
    
    
$prijs =  rand(1000000,12500000);
    
    
mysql_query("INSERT INTO `target`(`id`, `targetid`, `reward`, `soort`)
                VALUES
                ("
.ID.", ".$res['id'].", '".$prijs.", 1") or die(mysql_error());
    
        
$msg good("Je hebt een target gekregen! Jouw target is <b>".$data['username']."</b> als je hem/haar vermoord<br>
                     in 3 dagen dan krijg je $"
.number_format ($prijs)."! ");
    }
}
elseif (
$reward == 2) {
    
    
$ep =  rand(20,60);
    
    
mysql_query("INSERT INTO `target`(`id`, `targetid`, `reward`, `soort`)
                VALUES
                ("
.ID.", ".$res['id'].", '".$ep.", 2") or die(mysql_error());
    

        
$msg good("Je hebt een target gekregen! Jouw target is <b>".$data['username']."</b> als je hem/haar vermoord<br>
                     in 3 dagen dan krijg je "
.number_format ($ep)." eerpunten! ");
    }
}
    
?>


            </table>

        </td>
        <?php
        
}
            
    
?>
    </tr>
</table>
</table>
</form>


De error:
Code | Selecteer Alles
minimaliseren
1
2
3
You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near ''432' at line 3

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1725311, 1' 
at line 3


Zoals je ziet pakt hij wel iets random, maar wat is dan de error?

Bedankt
29-01-2011 17:26
Dit topic is 223 keer bekeken door 38 verschillende leden
Reacties op: "rand functie error in script"
1
<?/ $me=Android ?>
Berichten: 1713
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<table border='0' cellspacing='1' width='96%' bgcolor='#000' align='center'> 
    <tr> 
        <td colspan='2' class='top'> 
            Hitlist 
        </td> 
    </tr> 
    <tr> 
        <td class='inhoud_c' width='25%' style='padding: 5px; vertical-align: top;'> 
            <img src='IMG/sniperscope.jpg' width='180' height='120' style="border: solid 1px black;"> 
        </td> 
        <td class='inhoud_c' width='75%' align='center'> 
         
        Welkom <b><?php echo $naam?></b>, 
            Hier kan je werken voor de maffia, om de 3 dagen hebben ze wel weer iemand die dood moet! 
            Jij mag de vieze klusjes doen, als je een target krijgt moet je hem of haar vermoorden! 
            Elke keer als dit lukt krijg je geld of eerpunten, dit licht aan jouw opdracht! 
                    </td> 
    </tr> 
</table> 
 

<form method="post" action="nav.php?p=target"> 

<table border='0' cellspacing='1' width='96%' bgcolor='#000' align='center'> 
    <tr> 
        <td class='top'> 
            Jouw target 
        </td> 
    </tr> 
    <tr> 
        <td class='inhoud_c' style='padding: 20px;'> 
         

            <table border='0' cellspacing='1' width='70%' bgcolor='#000' align='center'> 
            <?php 
            
if ($go['target'] < 1) { 
    print 
" <img src='IMG/kruis.jpg' alt='' border='0'>"
    echo 
'Je hebt nog geen target! 
<center><input type="submit" name="new" value="Ik wil een target!"></center>'


elseif (
$go['target'] > 0) { 
        echo 
' '

?> 
<?php 



if(isset($_POST['new'])){ 
     
$status mysql_query("SELECT `target` FROM `speldata` WHERE `id`=".ID) or die(mysql_error()); 
$go mysql_fetch_assoc($status); 

$get mysql_query("SELECT `id` FROM `speldata` WHERE `leven`>0 ORDER BY RAND() LIMIT 1") or die(mysql_error()); 
$res mysql_fetch_assoc($get); 

$target $res['id']; 

$reward rand(1,2); 

     
if (
$res['target'] >= 1) { 
    print 
" <img src='IMG/kruis.jpg' alt='' border='0'>"
    echo 
'Je hebt al een target!'
         

     
elseif (
$reward == 1) { 
     
    
$prijs =  rand(1000000,12500000); 
     
    
mysql_query("INSERT INTO `target`(`id`, `targetid`, `reward`, `soort`) 
                VALUES 
                ("
.ID.", ".$res['id'].", '".$prijs.", 1") or die(mysql_error()); 
     
        
$msg good("Je hebt een target gekregen! Jouw target is <b>".$data['username']."</b> als je hem/haar vermoord 
                     in 3 dagen dan krijg je $"
.number_format ($prijs)."! "); 
    } 

elseif (
$reward == 2) { 
     
    
$ep =  rand(20,60); 
     
    
mysql_query("INSERT INTO `target`(`id`, `targetid`, `reward`, `soort`) 
                VALUES 
                ("
.ID.", ".$res['id'].", '".$ep.", 2") or die(mysql_error()); 
     

        
$msg good("Je hebt een target gekregen! Jouw target is <b>".$data['username']."</b> als je hem/haar vermoord 
                     in 3 dagen dan krijg je "
.number_format ($ep)." eerpunten! "); 
    } 
     
?> 


            </table> 

        </td> 
       
    </tr> 
</table> 
</table> 
</form>
29-01-2011 17:35
Berichten: 409
avatar
Offline Stuur privébericht
Werkt ook niet
29-01-2011 18:55
lvfeo = wijsheid
Berichten: 336
avatar
Offline Stuur privébericht
kijk eens naar lijn 51
Code | Selecteer Alles
minimaliseren
1
$status mysql_query("SELECT `target` FROM `speldata` WHERE `id`=".ID) or die(mysql_error());

is het niet dit:
Code | Selecteer Alles
minimaliseren
1
2
3
$status mysql_query("SELECT `target` FROM `speldata` WHERE `id`='".$ID."'") or die(mysql_error());
//of
$status mysql_query("SELECT `target` FROM `speldata` WHERE `id`='".ID."'") or die(mysql_error());

mvg,
Ismail

Nieuwe reactie samengevoegd met originele reactie op 29.01.11 19:20:12:
oohja nog iets
lijn 72
Code | Selecteer Alles
minimaliseren
1
2
3
mysql_query("INSERT INTO `target`(`id`, `targetid`, `reward`, `soort`) 
                VALUES 
                ("
.ID.", ".$res['id'].", '".$prijs.", 1") or die(mysql_error());

moet dit zijn:
Code | Selecteer Alles
minimaliseren
1
mysql_query("INSERT INTO `target`(`id`, `targetid`, `reward`, `soort`) VALUES ('".ID."', '".$res['id']."', '".$prijs."', '1')") or die(mysql_error());")

oohja tip
als je alleen echo bij php wilt doen kan je ook dit doen:
Code | Selecteer Alles
minimaliseren
1
2
<?=$variabel?>
// gaat sneller en beter!

als ik iets fout doe melden
29-01-2011 19:11
Berichten: 409
avatar
Offline Stuur privébericht
@Ismail, nope deze zijn bijde correct.
29-01-2011 19:23
lvfeo = wijsheid
Berichten: 336
avatar
Offline Stuur privébericht
zie je het verschil wel(komma gebruik en ' ) ' vergeten)?
ook daar kan de fout vanaf komen
ps. lijn 89 en 84 hebben ook zelfde fout
altijd dit doen:
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
mysql_query("INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('Peter', 'Griffin', '35')"
);
//en niet dit
mysql_query("INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('Peter', 'Griffin', '35'"
);
// waarbij je de ')' (haakje) vergeet bij values
29-01-2011 19:28
Berichten: 409
avatar
Offline Stuur privébericht
Als ik het via jouw code doet dan gebeurd er helemaal niks meer. Ik Zet het ouden terug en hop, error is er weer maar hij doet het wel.
29-01-2011 21:29
Rapifia Europe
Berichten: 3716
avatar
Offline Stuur privébericht
Deze moet werken:
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<table border='0' cellspacing='1' width='96%' bgcolor='#000' align='center'> 
    <tr> 
        <td colspan='2' class='top'> 
            Hitlist 
        </td> 
    </tr> 
    <tr> 
        <td class='inhoud_c' width='25%' style='padding: 5px; vertical-align: top;'> 
            <img src='IMG/sniperscope.jpg' width='180' height='120' STYLE="border: solid 1px black;"> 
        </td> 
        <td class='inhoud_c' width='75%' align='center'> 
        <br> 
        Welkom <b><?php echo $naam?></b>,<br><br> 
            Hier kan je werken voor de maffia, om de 3 dagen hebben ze wel weer iemand die dood moet!<br> 
            Jij mag de vieze klusjes doen, als je een target krijgt moet je hem of haar vermoorden!<br> 
            Elke keer als dit lukt krijg je geld of eerpunten, dit licht aan jouw opdracht! 
                    </td> 
    </tr> 
</table> 
<br> 

<form method="post" action="nav.php?p=target"> 

<table border='0' cellspacing='1' width='96%' bgcolor='#000' align='center'> 
    <tr> 
        <td class='top'> 
            Jouw target 
        </td> 
    </tr> 
    <tr> 
        <td class='inhoud_c' style='padding: 20px;'> 
         

            <table border='0' cellspacing='1' width='70%' bgcolor='#000' align='center'> 
                <?php
                $status 
mysql_query("SELECT target FROM speldata WHERE id=".ID) or die(mysql_error()); 
                
$go mysql_fetch_array($status); 
                if(
$go['target'] < 1){
                    echo 
'<img src="IMG/kruis.jpg" alt="" border="0">'
                    echo 
'Je hebt nog geen target!<center><input type="submit" name="new" value="Ik wil een target!"></center>'
                } elseif (
$go['target'] > 0){ 
                    echo 
'&nbsp;'
                }
                if(isset(
$_POST['new'])){
                    
$get mysql_query("SELECT id FROM speldata WHERE leven > 0 ORDER BY RAND() LIMIT 1") or die(mysql_error()); 
                    
$res mysql_fetch_array($get); 

                    
$target $res['id'];
                    
$reward rand(12); 

                    if(
$res['target'] >= 1){ 
                        echo 
'<img src="IMG/kruis.jpg" alt="" border="0">'
                        echo 
'Je hebt al een target!'

                    } elseif(
$reward == 1){
                        
$prijs =  rand(1000000,12500000);
                    
                        
mysql_query("INSERT INTO target (id, targetid, reward, soort) VALUES (".ID.", ".$res['id'].", '".$prijs."', 1)") or die(mysql_error());
                        
$msg good("Je hebt een target gekregen! Jouw target is <b>".$data['username']."</b> als je hem/haar vermoord in 3 dagen dan krijg je $".number_format ($prijs)."! ");
                    } elseif (
$reward == 2){ 
                        
$ep =  rand(20,60);
                        
                        
mysql_query("INSERT INTO target (id, targetid, reward, soort) VALUES (".ID.", ".$res['id'].", '".$ep."', 2)") or die(mysql_error()); 
                        
$msg good("Je hebt een target gekregen! Jouw target is <b>".$data['username']."</b> als je hem/haar vermoord<br> in 3 dagen dan krijg je ".number_format ($ep)." eerpunten!"); 
                    } 
                }
                
?>
            </table>
        </td>
    </tr>
</table> 
</form>


Wat ik me afvraag is waar je de constante ID vandaan haalt, maar goed.
Dat zul je zelf moeten uitzoeken want dat staat niet in dit script.
30-01-2011 09:03
Berichten: 830
avatar
Offline Stuur privébericht
Als ik het goed heb is dit crimeclub source?
30-01-2011 11:36
Berichten: 409
avatar
Offline Stuur privébericht
Quote: Kurene

Als ik het goed heb is dit crimeclub source?



Nope.

@Lars, error is weg maar nu gebeurd er helemaal niks. Er zit dus ergens nog een fout maar dat moet ik zelf uitzoeken.
30-01-2011 11:58
R. Jipping
Berichten: 1596
avatar
Offline Stuur privébericht
Zet helemaal bovenaan eens

Code | Selecteer Alles
minimaliseren
1
2
3
<?php
error_reporting
(E_ALL);
?>
30-01-2011 12:03
Reageer op: "rand functie error in script"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden