Avatar billede brops Nybegynder
08. juli 2005 - 01:24 Der 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)
Avatar billede jaw Nybegynder
08. juli 2005 - 01:26 #1
Du mangler at afslutte med ":

$insert_admin_sql = "INSERT INTO guild_rights (rigths, rigths_name) VALUES ('1','Admin')";
Avatar billede jaw Nybegynder
08. juli 2005 - 01:38 #2
Ahh, nu tror jeg, at jeg forstår hvad du mener. Du kører jo alle "insert into" på én gang, og det kan du ikke i PHP. Du må opdele dem én ad gangen...
Avatar billede brops Nybegynder
08. juli 2005 - 01:40 #3
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
Avatar billede jaw Nybegynder
08. juli 2005 - 01:45 #4
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...?!
Avatar billede brops Nybegynder
08. juli 2005 - 01:48 #5
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
Avatar billede jaw Nybegynder
08. juli 2005 - 01:49 #6
Hvis det er en engangsopgave er det måske det nemmeste...
Avatar billede ksoren Nybegynder
08. juli 2005 - 01:51 #7
Du kan indsætte flere værdier med denne syntax

INSERT INTO guild_rights (rigths, rigths_name) VALUES
('1','Admin'),
('2','Guildleader')
...
Avatar billede brops Nybegynder
08. juli 2005 - 01:51 #8
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
Avatar billede jaw Nybegynder
08. juli 2005 - 02:01 #9
Jeg siger mange tak så - og også godnat til dig :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester