ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
2480
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    Avatar von Dac-XP
    Dac-XP ist offline Mitglied Gold
    Registriert seit
    Feb 2004
    Ort
    Mönchengladbach
    Beiträge
    213
    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-Code:
      $query "CREATE TABLE names (
                 id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
                 nick VARCHAR( 50 ) NOT NULL ,
                 name VARCHAR( 50 ) NOT NULL ,
                 fname VARCHAR( 50 ) NOT NULL
                 ) TYPE = MYISAM;

                 CREATE TABLE names2 (
                 id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
                 nick VARCHAR( 50 ) NOT NULL ,
                 name VARCHAR( 50 ) NOT NULL ,
                 fname VARCHAR( 50 ) NOT NULL
                 ) TYPE = MYISAM;"
    ;

      if(
    $erg mysql_query($query))
          {
            echo 
    "Tabellen wurden erstellt.";
        } 
    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?
     
    MfG Dac! ;)

    Mein Blog

  2. #2
    Avatar von itseit
    itseit ist offline Mitglied Brokat
    Registriert seit
    May 2004
    Beiträge
    395
    http://de.php.net/manual/de/function.mysql-query.php

    Anmerkung: Die Anfrage sollte nicht mit einem Semikolon enden.
     
    Bei Nachteilen nicht jammern, sondern neue Wege finden.
    The worst decision is indecision.

  3. #3
    Avatar von Dac-XP
    Dac-XP ist offline Mitglied Gold
    Registriert seit
    Feb 2004
    Ort
    Mönchengladbach
    Beiträge
    213
    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!
     
    MfG Dac! ;)

    Mein Blog

  4. #4
    Avatar von maeTimmae
    maeTimmae ist offline Mitglied Platin
    Registriert seit
    Aug 2007
    Ort
    Erfurt, Saarbrücken, Leipzig und Fulda
    Beiträge
    515
    Sofern du die MySQLi Schnittstelle nutzen möchtest, bietet sich mysqli_multi_query() an, was in deiner Anwendung aus Effizienzgründen höchstwahrscheinlich zu präferieren ist.
     

  5. #5
    Avatar von Dac-XP
    Dac-XP ist offline Mitglied Gold
    Registriert seit
    Feb 2004
    Ort
    Mönchengladbach
    Beiträge
    213
    Mhh muss ich mich mal drüber schlau machen.

    Danke!

    /edit: Super, das ist genau das, was ich gesucht habe.
    Geändert von Dac-XP (05.11.07 um 19:24 Uhr)
     
    MfG Dac! ;)

    Mein Blog

Ähnliche Themen

  1. Mehrere Count-Abfragen mit einem Query
    Von casa74 im Forum Relationale Datenbanksysteme
    Antworten: 12
    Letzter Beitrag: 14.05.12, 22:45
  2. Antworten: 1
    Letzter Beitrag: 23.08.10, 20:04
  3. Mehrere Abfragen in einem Bericht? MS Access 2003
    Von fonds im Forum Office-Anwendungen
    Antworten: 4
    Letzter Beitrag: 05.09.08, 10:17
  4. Mysql Mehrere abfragen aus Tabelle
    Von js-mueller im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 06.08.05, 10:52
  5. Mehrere Abfragen zu einem Array?
    Von dennis2412 im Forum PHP
    Antworten: 8
    Letzter Beitrag: 22.11.03, 09:31