Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL Query verkürzen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MySQL Query verkürzen

    Hallo,

    wie kann ich geschicktesten diese Zeile verkürzen?

    PHP-Code:
    $r mysql_query($q1) and mysql_query($q2) and mysql_query($q3) and mysql_query($q4) and mysql_query($q5) and mysql_query($q6) and mysql_query($q7) and mysql_query($q8); 
    So, dass es irgendwie so aussieht

    PHP-Code:
    $r mysql_query($q1bis mysql_query($q8); 
    Geht das überhaupt?

  • #2
    Ja, geht, aber
    http://stackoverflow.com/questions/1...nctions-in-php

    Das was du brauchst ist ne Schleife die drüberrennt. Wobei hier die Sinnhaftigkeit mal außer Acht gelassen wird - warum musst du zig Queries hintereinander ausführen? Geht das nicht in einer?

    Kommentar


    • #3
      Könnte sein, dass es auch in einer geht, aber ich hab es nicht hinbekommen.

      Ich habe das so im Momment

      PHP-Code:
      $q1 "UPDATE `tkategorie` SET `Kat` = '$q_test1' WHERE `tkategorie`.`kKategorie` ='$q_id1'";
      $q2 "UPDATE `tkategorie` SET `Kat` = '$q_test2' WHERE `tkategorie`.`kKategorie` ='$q_id2'"

      Kommentar


      • #4
        Anmerkung

        Die original mysql-Erweiterung ist veraltet (mysql_*-Funktionen) und wird in den kommenden Versionen aus PHP entfernt. Aktuell wirft sie schon E_DEPRECATED-Fehler bei einer Verbindung zur Datenbank. Des Weiteren stehen dir sehr viele tolle Features von mysql mit diesen Funktionen nicht zur Verfügung! Weiterführende Links:
        Choosing an API
        Warum man mysql* generell nicht (mehr) nutzen sollte.
        Wie man von mysql* auf PDO umsteigt
        Wissenswertes zum Thema SQL-Injection

        Kommentar


        • #5
          Zitat von rkr Beitrag anzeigen
          Anmerkung

          Die original mysql-Erweiterung ist veraltet (mysql_*-Funktionen) und wird in den kommenden Versionen aus PHP entfernt. Aktuell wirft sie schon E_DEPRECATED-Fehler bei einer Verbindung zur Datenbank. Des Weiteren stehen dir sehr viele tolle Features von mysql mit diesen Funktionen nicht zur Verfügung! Weiterführende Links:
          Choosing an API
          Warum man mysql* generell nicht (mehr) nutzen sollte.
          Wie man von mysql* auf PDO umsteigt
          Wissenswertes zum Thema SQL-Injection
          Hm, OK

          Zuviel Input zu dieser Uhrzeit... Aber morgen ist ja auch noch ein Tag....

          Danke für die Links. Werde ich mich rantasten

          Kommentar


          • #6
            Code:
            $q  = "UPDATE `tkategorie` SET `Kat` = '$q_test1' WHERE `tkategorie`.`kKategorie` ='$q_id1';";
            $q .= "UPDATE `tkategorie` SET `Kat` = '$q_test2' WHERE `tkategorie`.`kKategorie` ='$q_id2';";
            Wie rkr schon sagte: schrecklich das.
            Mach dir mal nen Spaß und gib $q_test1 den Wert "; DELETE FROM tkategorie;" - Aber nur wenn du in keinem Produktivsystem werkelst ...

            Die Links von mir und rkr zusammengefasst:
            mysql_* ist veraltet, Schrott, gefährlich. Verwende PDO. Punkt.

            Kommentar


            • #7
              Deine obige Zeile zu verkürzen, was bringt das? Wie schon angedeutet, deine Aktualisirungen sollten dagegen so effektiv wie möglich erfolgen ohne das dabei die Übersicht verloren geht.
              Und ja, verwende PDO, und schau dir da Prepared Statements und Stored Procedures genauer an.
              Mit den Prepared Statements bereitest du deine Datenbank einmal auf die Aktualisierung vor
              und bringst das dann 8 mal mit den speziellen Parametern zur Ausführung.
              Dies kannst du auch mit einer Schleife machen, in dem du Arrays nutzt.
              Und nicht zu vergessen mit den Prepared Statements hast du zugleich das Thema SQL-Injection erledigt.

              Kommentar


              • #8
                Zitat von Lokart Beitrag anzeigen
                Die Links von mir und rkr zusammengefasst:
                mysql_* ist veraltet, Schrott, gefährlich. Verwende PDO. Punkt.

                Deswegen habe ich geschrieben, dass ich mir das heute in Ruhe ansehn werde. A) ist das für mich nur ein Hobby und wird niemals kommerzielle verwendet werden B) Wenn ich schon was lerne, dann kann ich gleich die neuere und bessere Version lernen

                Kommentar

                Lädt...
                X