Lugia Bancetto: Array in MySQL einspielen - wie lautet der Query?

Hallo :)

ich habe das komplette Array wie folgt gesammelt:

foreach($arr[0] as $k => $v)
{
 $daten .= "INSERT INTO Datenbank (stuff, time) VALUES ('$v', 'Uhrzeit');";
}

und wollte nachdem ich verbindung & co aufgebaut habe die Daten einspielen:

mysql_db_query($datenb, $daten, $mysql);

allerdings funktioniert das nicht. - wenn ich in das foreach... jedesmal ein query mache braucht meine Website 60 Query :o) - deswegen wollte ich das irgendwie zusammenfassen in $daten halten

$daten = "INSERT INTO Datenbank (stuff, time) VALUES ('daten1', 'Uhrzeit'); INSERT INTO Datenbank (stuff, time) VALUES ('daten2', 'Uhrzeit'); INSERT INTO Datenbank (stuff, time) VALUES ('daten3', 'Uhrzeit');"; etc.

hat jemand einen Tipp, wie der richtige Syntax lauten muss?

  1. Moin!

    foreach($arr[0] as $k => $v)
    {
     $daten .= "INSERT INTO Datenbank (stuff, time) VALUES ('$v', 'Uhrzeit');";
    }

    mysql_db_query($datenb, $daten, $mysql);

    Je Query nur ein SQL-Befehl! Nicht mehrere.

    - Sven Rautenberg

    --
    "Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)
    1. Je Query nur ein SQL-Befehl! Nicht mehrere.

      Wenn das so ist habe ich 63 Querys - das ist doch ein bisschen viel, oder? - kann man das nicht einfacher machen ein array in eine Datenbank einzuspielen?

      wäre super, auf jeden Fall schon mal herzl. Dank!

      Luiga

      1. Moin!

        Je Query nur ein SQL-Befehl! Nicht mehrere.

        Wenn das so ist habe ich 63 Querys - das ist doch ein bisschen viel, oder?

        Sehe ich keinesfalls so. Das ist die kleinstmögliche Zahl an Querys, wenn du 63 neue Datensätze in die DB einspielen willst.

        • kann man das nicht einfacher machen ein array in eine Datenbank einzuspielen?

        Es ist vielleicht zu kritisieren, dass dein Array, weil es ja offenbar zusammenhängende Informationen enthält, möglicherweise in eine unzureichende Datenbankstruktur gespeichert werden soll. Also wäre zu klären, warum das Array in die DB soll, und wie darauf dann zugegriffen werden wird.

        Andererseits: Wenn du (als Beispiel) 63 verschiedene, neue Produkte in die Datenbank speichern willst, brauchst du 63 verschiedene Querys. Punkt, aus, Ende.

        Mit MySQL kannst du
        INSERT INTO table (spalten) VALUES (werte), (werte), (werte)...
        machen. Hat aber den nicht zu vernachlässigenden Nachteil, dass du damit - sofern notwendig - nicht mehr auf die einzeln generierten Autoincrement-IDs zugreifen kannst, die die DB bei einer entsprechenden Spalte generiert.

        - Sven Rautenberg

        --
        "Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)