1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

mehrere mySQL-Abfragen in einem String

Dieses Thema im Forum "PHP" wurde erstellt von Dac-XP, 5. November 2007.

  1. Dac-XP

    Dac-XP Erfahrenes Mitglied

    Hi!

    Der Titel mag vielleicht ein wenig verwirren, aber ich hoffe, ihr versteht, was ich meine.
    Vorweg: Google und Boardsuche wurden schon konsultiert. Ergebnisse brachte das leider nicht.

    Also ich möchte einfach nur mehrere mySQL-Abfragen in einem "Rutsch" ausführen (lassen).

    PHP:
    1.   $query = "CREATE TABLE names (
    2.             id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    3.             nick VARCHAR( 50 ) NOT NULL ,
    4.             name VARCHAR( 50 ) NOT NULL ,
    5.             fname VARCHAR( 50 ) NOT NULL
    6.             ) TYPE = MYISAM;
    7.  
    8.             CREATE TABLE names2 (
    9.             id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    10.             nick VARCHAR( 50 ) NOT NULL ,
    11.             name VARCHAR( 50 ) NOT NULL ,
    12.             fname VARCHAR( 50 ) NOT NULL
    13.             ) TYPE = MYISAM;";
    14.  
    15.   if($erg = mysql_query($query))
    16.     {
    17.         echo "Tabellen wurden erstellt.";
    18.     }
    Leider funktioniert dieses doch recht simple Script bei mir nicht. Nehme ich jetzt aber die zweite Tabelle raus, funktioniert das wunderbar. Wenn ich die Tabellen direkt über mySQL (per PHPmyAdmin) erstelle, funktioniert es ebenfalls einwandfrei. Nur eben nicht unter PHP.

    PHP-Version ist 5.2.3
    MySQL-Version ist 5.0.45

    Jetzt meine Frage: Wieso funktioniert das nicht?
  2. itseit

    itseit Erfahrenes Mitglied

  3. Dac-XP

    Dac-XP Erfahrenes Mitglied

    Hi!

    Danke für die Antwort. Aber daran lag es nicht.
    Den Kommentaren zu dem Befehl ist allerdings zu entnehmen (undzwar ziemlich deutlich), dass multiple Abfragen nicht mehr möglich sind, um so Sicherheitslecks zu vermeiden.
    Meiner Meinung nach ist das ein wenig dämlich, da man sich auch anders gegen SQL-Injections schützen kann, aber gut...

    Dann schreib ich mir halt eine Funktion, die die Abfragen automatisch aufteilt und einzelnd ausführt. Ist ja auch ne schöne Übung. ;)

    Danke nochmal!
  4. maeTimmae

    maeTimmae Erfahrenes Mitglied

    Sofern du die MySQLi Schnittstelle nutzen möchtest, bietet sich [phpf]mysqli_multi_query[/phpf] an, was in deiner Anwendung aus Effizienzgründen höchstwahrscheinlich zu präferieren ist.
  5. Dac-XP

    Dac-XP Erfahrenes Mitglied

    Mhh muss ich mich mal drüber schlau machen.

    Danke!

    /edit: Super, das ist genau das, was ich gesucht habe.
    Zuletzt bearbeitet: 5. November 2007

Diese Seite empfehlen