HTML beginner |
|
Hallo allemaal,
Dit probleem komt eigenlijk doordat ik mijn MySQL server telkens overbelast raakt. Als oplossing op deze vraag (hier gesteld op SiMa) kreeg ik dat ik mijn query's moest optimaliseren. Daarom wil ik een While ... Do - loop in mijn INSERT query maken.
Wat ik wil is een variabel aantal records invoeren. Dit aantal is gelijk aan $i. $j wordt vóór de query gelijk gesteld aan 0. De code die ik nu heb is:
mysql_query("INSERT INTO `".$team_id_long."_res_comp` (`match_date`, `match_thuis`, `match_uit`, `match_result`) VALUES
WHILE ".$j." < ".$i." DO
IF ".$j." = ".$i." THEN
('".$team_res_array[$j]['match_date']."', '".$team_res_array[$j]['match_thuis']."', '".$team_res_array[$j]['match_uit']."', '".$team_res_array[$j]['match_result']."');
ELSE
('".$team_res_array[$j]['match_date']."', '".$team_res_array[$j]['match_thuis']."', '".$team_res_array[$j]['match_uit']."', '".$team_res_array[$j]['match_result']."'),;
END IF;
SET ".$j." = ".$j." + 1;
END WHILE;") or die(mysql_error());
mysql_query("INSERT INTO `".$team_id_long."_res_comp` (`match_date`, `match_thuis`, `match_uit`, `match_result`) VALUES WHILE ".$j." < ".$i." DO IF ".$j." = ".$i." THEN ('".$team_res_array[$j]['match_date']."', '".$team_res_array[$j]['match_thuis']."', '".$team_res_array[$j]['match_uit']."', '".$team_res_array[$j]['match_result']."'); ELSE ('".$team_res_array[$j]['match_date']."', '".$team_res_array[$j]['match_thuis']."', '".$team_res_array[$j]['match_uit']."', '".$team_res_array[$j]['match_result']."'),; END IF; SET ".$j." = ".$j." + 1; END WHILE;") OR die(mysql_error());
De foutmelding die ik telkens krijg is:
Citaat: 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 'WHILE 0 < 5 DO IF 0 = 5 THEN ('2008-09-07', 'DESK 8 ', 'SC Olymp' at line 3
Iemand enig idee wat ik fout doe? Ik dacht dat ik de query precies volgens de handleiding had gemaakt ... blijkbaar toch iets fout gedaan.
Alvast bedankt,
Bertenz
|