hulp nodig met een verbetering.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$stats = mysql_query("SELECT * FROM users WHERE name='$_SESSION[user]'");
$stat = mysql_num_rows($stats);
$item1 = mysql_query("select * from shop where type='attack'");
while ($items = mysql_fetch_row($item1)) {
$iname = str_replace(" ", "_", '$items[name]');
$iname = strtolower($iname);
mysql_query("update users set attack=attack+($stat[$iname] * $items[bonus]) WHERE name='$_SESSION[user]'");
}
$item2 = mysql_query("select * from shop where type='defense'");
while ($items3 = mysql_fetch_row($item2)) {
$iname = str_replace(" ", "_", "$items3[name]");
$iname = strtolower($iname);
mysql_query("update users set hp=hp+($stat[$iname]*$items3[bonus]) WHERE name='$_SESSION[user]'");
}
$stat = mysql_num_rows($stats);
$item1 = mysql_query("select * from shop where type='attack'");
while ($items = mysql_fetch_row($item1)) {
$iname = str_replace(" ", "_", '$items[name]');
$iname = strtolower($iname);
mysql_query("update users set attack=attack+($stat[$iname] * $items[bonus]) WHERE name='$_SESSION[user]'");
}
$item2 = mysql_query("select * from shop where type='defense'");
while ($items3 = mysql_fetch_row($item2)) {
$iname = str_replace(" ", "_", "$items3[name]");
$iname = strtolower($iname);
mysql_query("update users set hp=hp+($stat[$iname]*$items3[bonus]) WHERE name='$_SESSION[user]'");
}
de foutmelding zit hem in de :
Code (php)
1
mysql_query("update users set attack=attack+($stat[$iname] * $items[bonus]) WHERE name='$_SESSION[user]'");
bij het woord bonus. iemand die mij even uit de brand zou kunnen helpen?
- Variabelen buiten quotes. Gebruik dan double-quotes.
- Gebruik single-quotes voor de data tussen blokhaken in een array: $items['bonus']
- gebruik betere variabelenamen, $item1, $item2 is zo nietszeggend. Wat is het? Een bloemkoopl, een opblaasbal, een kast? Zeg liever wat de querie dan doet.
unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
dat had ik al een paar keer geprobeerd
relevante code is wel zo handig.
Code (php)
1
mysql_query("update users set attack=attack+($stat[$iname] * $items[bonus]) WHERE name='$_SESSION[user]'");
nog steeds die zin. ik heb het op alle manieren geprobeert met single en double quotes maar ik blijf een error krijgen. en ik heb dat foutafhandeling aanstaan maar ik krijg geen berichten daar van
$items['bonus']
of:
$items[$bonus]
en $_SESSION[user] moet worden:
$_SESSION['user']
Gewijzigd op 20/09/2012 09:15:56 door Stefan WM
Niels Peeren op 20/09/2012 01:22:45:
nog steeds die zin. ik heb het op alle manieren geprobeert met single en double quotes maar ik blijf een error krijgen. en ik heb dat foutafhandeling aanstaan maar ik krijg geen berichten daar van
Code (php)
1
mysql_query("update users set attack=attack+($stat[$iname] * $items[bonus]) WHERE name='$_SESSION[user]'");
nog steeds die zin. ik heb het op alle manieren geprobeert met single en double quotes maar ik blijf een error krijgen. en ik heb dat foutafhandeling aanstaan maar ik krijg geen berichten daar van
De query zou ik zo opbouwen:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
mysql_query("UPDATE users SET attack='attack+".($stat[$iname] * $items['bonus'])."' WHERE name='".$_SESSION['user']."'");
?>
mysql_query("UPDATE users SET attack='attack+".($stat[$iname] * $items['bonus'])."' WHERE name='".$_SESSION['user']."'");
?>
ja dean dat werkt , heel erg bedankt!
Maar dan zonder quotes om attack+getal.
Niels Peeren op 20/09/2012 13:45:04:
ja dean dat werkt , heel erg bedankt!
Graag gedaan ;-)