...

php/mysql script that is meant up update..

sir pannels
11-27-2002, 08:48 PM
...some info in a table doesnt work..
hmm you see the $id is from the url the rest is either in the script or the db.... its meant to get the current balance... and work out how much it should go up and then updat eit to the new baance.. it errors.. any one see why?

<?php
$dbc = mysql_connect('localhost', '', '') or die("Couldn't connect to database");
mysql_select_db('GAME') or die("Couldn't select database");

$query ="SELECT * FROM founds WHERE id=$id";
$query ="UPDATE founds SET balance = $income WHERE id =$id";

$result = mysql_query($query) or die("There is an error with you account, please contact support and inform them of this");
while ($r = mysql_fetch_array($result)) {
extract($r);

$fincome = $extractors * 2000 ;
$sincome = $extractors * $advanced ;
$income = $fincome + $sincome ;

echo("Account Balance Updated");

?>

thanks a lot :D

Spookster
11-28-2002, 12:32 AM
You are only running the second query. A query is executed using this command:

mysql_query($query)

so in yours, you are only executing the second one:

$query ="UPDATE founds SET balance = $income WHERE id =$id";

because you overwrite the first one with the second one.

sir pannels
11-28-2002, 11:45 AM
oh i see.
thanks :)
hmm is there anyway i can run to querys in the same sript in that case?
I think i saw it somewhere befor... maybe I was wrong

Spookster
11-28-2002, 01:38 PM
$query ="SELECT * FROM founds WHERE id=$id";

$result = mysql_query($query)

//put your code here to extract results to get value for the second query

$query ="UPDATE founds SET balance = $income WHERE id =$id";

$result = mysql_query($query)

sir pannels
11-28-2002, 02:14 PM
oh thanks Spook :D
so like this yeh..

<?php
$dbc = mysql_connect('localhost', '', '') or die("Couldn't connect to database");
mysql_select_db('GAME') or die("Couldn't select database");

$query ="SELECT * FROM founds WHERE id=$id";
$result = mysql_query($query)
while ($r = mysql_fetch_array($result)) {
extract($r);

$fincome = $extractors * 2000 ;
$sincome = $extractors * $advanced ;
$income = $fincome + $sincome ;

$query ="UPDATE founds SET balance = $income WHERE id =$id";

$result = mysql_query($query)

echo("Account Balance Updated");

?>

that what i think your tellin me to do.. done that tho.
however error line 7 parse error... hmm any further ideas?
thanks for all yoru time :thumbsup:

Spookster
11-28-2002, 02:29 PM
Well other than a couple of missing semi-colons at the ends of two lines I don't see anything else wrong. I've never used the extract function before. I usually just pull the data out of the array like so:

while ($row = mysql_fetch_array($result)) {
$yaks = $row["tablecolumnname"];
}

Wichetael
11-28-2002, 02:39 PM
You're missing a curly bracket...


<?php
$dbc = mysql_connect('localhost', '', '') or die("Couldn't connect to database");
mysql_select_db('GAME') or die("Couldn't select database");

$query ="SELECT * FROM founds WHERE id=$id";
$result = mysql_query($query)

while ($r = mysql_fetch_array($result)) {
extract($r);
$fincome = $extractors * 2000 ;
$sincome = $extractors * $advanced ;
$income = $fincome + $sincome ;

$query ="UPDATE founds SET balance = $income WHERE id = $id";
$result = mysql_query($query);
}
echo("Account Balance Updated");

?>

sir pannels
11-28-2002, 02:43 PM
oh thanks spooks, for all yer help.
wich.. hm ok i put that code you typed in a file and ran it and got
Parse error: parse error in c:\phpdev\www\public\game\hourlyfounds.php on line 8

hmm doesnt make sense.. im lost arg
:(

Wichetael
11-28-2002, 03:24 PM
Forgot another semicolon (on line 6)...


<?php
$dbc = mysql_connect('localhost', '', '') or die("Couldn't connect to database");
mysql_select_db('GAME') or die("Couldn't select database");

$query ="SELECT * FROM founds WHERE id=$id";
$result = mysql_query($query);

while ($r = mysql_fetch_array($result)) {
extract($r);
$fincome = $extractors * 2000 ;
$sincome = $extractors * $advanced ;
$income = $fincome + $sincome ;

$query ="UPDATE founds SET balance = $income WHERE id = $id";
$result = mysql_query($query);
}
echo("Account Balance Updated");

?>


That should work

sir pannels
11-28-2002, 06:12 PM
oh yeh did nt see that thanks:)
arg more trouble now.. all it puts in browser is this

Warning: Supplied argument is not a valid MySQL result resource in c:\phpdev\www\public\game\hourlyfounds.php on line 8
Account Balance Updated

so many problems hehe :rolleyes:

Wichetael
11-29-2002, 02:54 PM
That simply means that your query: "select * from founds where id=$id" didn't return any results, so either you have no data in you table matching id to $id, or $id has an inapropriate value or the table 'founds' doesn't exist...

Try using this, that should give you some more info:

<?php
$dbc = mysql_connect('localhost', '', '') or die("Couldn't connect to database");
mysql_select_db('GAME') or die("Couldn't select database");

$query ="SELECT * FROM founds WHERE id=$id";
$result = mysql_query($query);

if (!$result)
die(mysql_error());

while ($r = mysql_fetch_array($result)) {
extract($r);
$fincome = $extractors * 2000 ;
$sincome = $extractors * $advanced ;
$income = $fincome + $sincome ;

$query ="UPDATE founds SET balance = $income WHERE id = $id";
$result = mysql_query($query);
if (!$result)
die(mysql_error());
}

echo("Account Balance Updated");

?>



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum