08. juli 2005 - 01:24Der er
8 kommentarer og 1 løsning
Fejl i SQL statement
Hej Jeg er ved at rode med en installationsfil til et Guildsystem til WoW, men jeg bliver ved med at ramme hoved ind i en SQLfejl. Jeg har en funktion som skulle smide ting ind i en database, men jeg bliver ved med at få fejl.
Jeg har en fil med alle SQL statmens i, i mine INSERT INTO statments er det jeg får fejlen min insert into ser sådan her ud for en af dem, resten er næsten identiske, men fejlen er den samme
$insert_admin_sql = "INSERT INTO guild_rights (rigths, rigths_name) VALUES ('1','Admin'); INSERT INTO guild_rights (rigths, rigths_name) VALUES ('2','Guildleader'); INSERT INTO guild_rights (rigths, rigths_name) VALUES ('3','Officer'); INSERT INTO guild_rights (rigths, rigths_name) VALUES ('4','Member'); INSERT INTO guild_rights (rigths, rigths_name) VALUES ('5','Initiat'); INSERT INTO guild_rights (rigths, rigths_name) VALUES ('6','Guest');";
Min funktion der behandler det er:
function make_table($sql) { db(); $result = mysql_query($sql);
if (!$result) { $result= "".die('Invalid query: ' . mysql_error()).""; } return $result } Og jeg kalder funktionen med: if (!$result3){ echo "step 11 aborted, Because a previus step failed (step 3).<br>"; } else { $result11 = make_table($insert_prof_sql); echo "step 11: "; if (!$result11) { echo "<font color=red>Fail Step 11, error msg: ".$result11."</font><br>"; $result11="false"; } else { echo "<font color=blue>Done</font><br>"; $result11="true"; } } det ovenstående er et eksampel, men jeg får samme fejl lige meget hvad for en variable jeg bruge af $result#, og ja jeg er sikker på det ikke er den som er gal, da hver step ind til mine insert virker.
Fejlen jeg får er:
Invalid query: Der er en fejl i SQL syntaksen nær '; INSERT INTO guild_rights (rigths, rigths_name) VALUES ('2','Gu' på linje 1
insert into er alle valideret med phpmyadmin og der virker de, men ikke når jeg bruger dem i forbindelse med php. (db()-funktionen virker)
Det var det jeg frygtede, men ok det er også ved at være lidt småsent, self overser man sådan en lille ting, jeg vil lige smide en halv time i at kigge på det så vil jeg vidst til at i seng men tark for hjælpen :D
Det var så sandelig så lidt :) Nu ved jeg jo ikke, hvor mange gange du skal køre det, men ellers var en "hurtig" mulighed måske bare at smide alle linierne i et array, og så kører insert-funktionen i en løkke...?!
Ja det er også den løsning jeg lige hurtigt er kommet frem til, men det er ikke så mange så overvejere at lave en var for hver, det er ca 25 linier så ikke så slemt :D, det værste er at hvis en fejl opstår længere oppe så skal den ikke tage de med, og det roder jeg lidt med, om det skal være et eller flere array, men tror jeg "hard" koder det, til den bare tager de linier jeg sætter den til, hvis ikke jeg "bare" smider hele lortet i en SQL fil og så committer den :D
det er det, som skrevet er det til en installationsfil, som bare skal fyres af 1 gang, og så hvis jeg skal rette det til til en ny version kan jeg måske kigge på en anden løsning, men lige pt skal det bare virke :D.
Endnu en gang tark for hjælpen og sov godt når du kommer der til.. points til dig btw
Jeg siger mange tak så - og også godnat til dig :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.