Matthias: mysql-abfrage streikt

hi!

ich benutze folgendes konstrukt, um mir einen abfrage-string zum einlesen von datensätzen in eine mysql-datenbank zu generieren:

while ( $data2 = mysql_fetch_array ( $res2 ) )
{
$name = addslashes( $data2[name] );
$copy = "INSERT INTO kunden (name) VALUES ('$name');\n***hier folgt noch ein weiterer INSERT-Befehl***"
}

beim ausführen heißt es aber immer: You have an error in your SQL syntax near ';

ich komme einfach nicht drauf, woran es liegen könnte. übersehe ich was?

  1. Hi,

    ich komme einfach nicht drauf, woran es liegen könnte. übersehe ich was?

    ja, den Inhalt von $copy, den Du Dir natürlich hast ausgeben lassen.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. ja, den Inhalt von $copy, den Du Dir natürlich hast ausgeben lassen.

      sorry, hier ein beispiel:

      INSERT INTO kunden (name) VALUES ('ankosoft computer ilmenau');

  2. Servus,

    welche bedingungen und Abhängigkeiten Du noch übersehen hast weiss ich nicht jedoch
    folgendes:

    $copy = "INSERT INTO kunden (name) VALUES ('$name');\n***hier folgt noch ein weiterer INSERT-Befehl ,
    der garantiert hier nicht hin gehört sondern in einen weiteren execute.....***"

    Gruss Matze

    1. der garantiert hier nicht hin gehört sondern in einen weiteren execute.....***"

      wieso gehört da kein weiterer hin? im phpmyadmin kann man ohne weiteres mehrere befehle auf einmal eingeben.

      1. Ganz einfah, wenn du mit mysql_result() was ich so nicht erkennen kann jedoch vermute 2 Selects z.B. hinterinander einen völligen Blödsinn ergeben würden und deshalb gar nicht gemacht werden kann.

        Myphpadmin baut hierbei anderster auf.

        Gruss matze

        1. Ganz einfah, wenn du mit mysql_result() was ich so nicht erkennen kann jedoch vermute 2 Selects z.B. hinterinander einen völligen Blödsinn ergeben würden und deshalb gar nicht gemacht werden kann.

          tja, du hattest recht. herzlichen dank, daß du dich meiner angenommen hast, denn sonst wäre ich wohl jetzt schon auf der suche nach der nächsten großen brücke ;-)

          1. Servus,

            in meine Studi Zeit... habe ich mich damals noch geärgert, dass
            man nur ein SQL Statment allein übergeben kann.

            Tja heute weiss ich warum das keine gute idee ist.
            Sind wir nich alle so knapp vor dem wochende etws verbraucht??

            Gruss Matze

      2. Achja folgendes noch:

        $name = addslashes( $data2[name] );
        $copy = "INSERT INTO kunden (name) VALUES ('"+$name+"');\n***hier folgt noch ein weiterer INSERT-Befehl***"
        oder ist die Variable $name ein include??

        Wenn nein verwende obiges Beispiel.
        Ausserdem pro execute eines SQL Scriptes nur ein SQL Statement oder sollte ds jetzt bei PHP so viel anderster gelöst sein wie in anderen Sprachen.

        Bei einem insert wäre es egal. aber woher soll es der execute Mechanismus wissen was Dein SQL Statement tut?

        Gruss Matze

  3. ich setze Spaltennamen in Anführungszeichen:

    STATT $name = addslashes( $data2[name] );
    ALSO  $name = addslashes( $data2['name'] );

    Kalle.