MySQL Prob

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

  • #16
    Hallo,

    mal ein paar Fragen:

    echo $sql_csort = "SELECT ...";

    dies wird höchstens true liefern, da es eine Zuweisung ist.
    Schreib einmal nach $sql_csort="..:"; echo $sql_csort;

    Hast Du wirklich eine Spalte 'm' in der Tabelle ?

    MySql toleriert es zwar, aber es ist nicht konform, wenn Du nur
    'menusort' selektierst, aber in der Where-Klausel Bezug auf andere
    Spalten nimmst.

    Prüfe doch spaßeshalber, was der mysql-Optimizer aus der Query macht,
    mit
    $tempsql= mysql_query("EXPLAIN SELECT ....");
    $row=mysql_fetch_array($tempsql);
    echo $row[0];

    nice day
    Quickborner

    Kommentar


    • #17
      Hi,

      danke für die Hilfe.

      Ich habe nun die fehlenden selections im zusammenhang mit dem where clauseln hinzugefügt. Leider ohne Erforlg.
      PHP-Code:
                      $tempsqlmysql_query("EXPLAIN SELECT menusort, status, m FROM content WHERE menusort < '$id' AND status = 'subcategory' AND m = '$valm' ORDER BY menusort DESC LIMIT 1;");
                      
      $row=mysql_fetch_array($tempsql);
                      echo 
      'EchoRow='.$row[0]; 
      Dort bekomme ich dann:

      EchoRow=content
      The Human Mirror - Mein Blog!
      www.sonicsense.de - The future of music!

      Kommentar


      • #18
        Ich habe nochmal einnen Funktionierenden Code, dieser wird bei der Sortierung der Hauptmenüs verwendet. Er funktioniert tadellos.

        Im Submenü Skript sind nur 2 änderungen: Die Zuweisung zu der Hauptkategorie durch WHERE m = '$valm' und Status = 'subkategorie' ansonsten sind die Skripte identisch.

        Hier das funktionierende:

        PHP-Code:
        if($_POST["sortcode"]) 
        {
            
        $id $_POST["sortcode"];
                if(
        $csort_up) {
                    
        $sql_csort "SELECT menusort FROM content WHERE menusort < '$id' AND status = 'category' ORDER BY menusort DESC LIMIT 1;";
                    
        $result_csort mysql_query($sql_csort);
                    
        $row_csort mysql_fetch_assoc($result_csort);
                    
        $sortchange $row_csort["menusort"];
                    
        $sql_csort_get_id_id "SELECT id FROM content WHERE menusort = '$id' AND status = 'category' ORDER BY id DESC LIMIT 1;"
                    
        $sql_csort_get_id_sortchange "SELECT id FROM content WHERE menusort = '$sortchange' AND status = 'category' ORDER BY id DESC LIMIT 1;";
                    
        $result_csort_get_id_id mysql_query($sql_csort_get_id_id);
                    
        $result_csort_get_id_sortchange mysql_query($sql_csort_get_id_sortchange);
                    
        $row_csort_get_id_id mysql_fetch_assoc($result_csort_get_id_id);
                    
        $row_csort_get_id_sortchange mysql_fetch_assoc($result_csort_get_id_sortchange);
                    
        $idsort $row_csort_get_id_id["id"];
                    
        $msort $row_csort_get_id_sortchange["id"];
                    
        $sql_sort_entry_up2 "UPDATE content SET menusort='$sortchange' WHERE id = '$idsort';";
                    
        $sql_sort_entry_up1 "UPDATE content SET menusort='$id' WHERE id = '$msort';";
                    
        mysql_query($sql_sort_entry_up2);
                    
        mysql_query($sql_sort_entry_up1);
                } 
        Hier das nicht funktionierende:

        PHP-Code:
        if($_POST["sortcode"]) 
        {
            
        $id $_POST["sortcode"];
             echo 
        'id='.$id;
             echo 
        'value m='.$valm;
                if(
        $csort_up) {
                    
                    
        $sql_csort "SELECT menusort, status, m FROM content WHERE menusort < '$id' AND status = 'subcategory' AND m = '$valm' ORDER BY menusort DESC LIMIT 1;";
                    
        $result_csort mysql_query($sql_csort) OR die(mysql_error());
                    
        $row_csort mysql_fetch_assoc($result_csort) OR die(mysql_error());
                    
        $sortchange $row_csort["menusort"];
                    
        $sql_csort_get_id_id "SELECT id, menusort, m FROM content WHERE menusort = '$id' AND status = 'subcategory' AND m = '$valm' ORDER BY id DESC LIMIT 1;"
                    
        $sql_csort_get_id_sortchange "SELECT id, menusort, status, m FROM content WHERE menusort = '$sortchange' AND status = 'category' AND m = '$valm' ORDER BY id DESC LIMIT 1;";
                    
        $result_csort_get_id_id mysql_query($sql_csort_get_id_id) OR die(mysql_error());
                    
        $result_csort_get_id_sortchange mysql_query($sql_csort_get_id_sortchange) OR die(mysql_error());
                    
        $row_csort_get_id_id mysql_fetch_assoc($result_csort_get_id_id) OR die(mysql_error());
                    
        $row_csort_get_id_sortchange mysql_fetch_assoc($result_csort_get_id_sortchange) OR die(mysql_error());
                    
        $idsort $row_csort_get_id_id["id"];
                    
        $msort $row_csort_get_id_sortchange["id"];
                    
        $sql_sort_entry_up2 "UPDATE content SET menusort='$sortchange' WHERE id = '$idsort';";
                    
        $sql_sort_entry_up1 "UPDATE content SET menusort='$id' WHERE id = '$msort';";
                    
        mysql_query($sql_sort_entry_up2) OR die(mysql_error());
                    
        mysql_query($sql_sort_entry_up1) OR die(mysql_error());
                } 
        The Human Mirror - Mein Blog!
        www.sonicsense.de - The future of music!

        Kommentar


        • #19
          mal ein paar Fragen:

          echo $sql_csort = "SELECT ...";

          dies wird höchstens true liefern, da es eine Zuweisung ist.
          hast du es mal ausprobiert?
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #20
            Jo, kommt nix bei rum. ;(
            The Human Mirror - Mein Blog!
            www.sonicsense.de - The future of music!

            Kommentar


            • #21
              Original geschrieben von Hazzardous
              Jo, kommt nix bei rum. ;(
              ich meinte den poster

              jetzt mein ich dich: wenn du nicht mal in der lage, die zeile zu finden, wo der/ein fehler auftritt es wird sich bestimmt jemand auf deinen total chaotischen code stürzen.
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #22
                Original geschrieben von derHund
                ich meinte den poster

                jetzt mein ich dich: wenn du nicht mal in der lage, die zeile zu finden, wo der/ein fehler auftritt es wird sich bestimmt jemand auf deinen total chaotischen code stürzen.
                Ich habe jede Variable per echo ausgegeben. Jedes array. Einfach alles. Ich mach seit 4 Tagen nichts anderes als zu versuchen rauszubekommen wo der Fehler liegt. Und der code ist nicht chaotisch. Genie und Wahnsinn liegen dicht beieinander

                Ich verstehe nur nicht warum es bei dem funktionierenden Code klappt. Ich bin momentan, was dieses Stück PHP betrifft wie vernagelt und versteh die Welt nicht mehr. Und ohne professionelle Hilfe werde ich es kaum schaffen. Denn trotz etlichen versuchen die ich unternommen habe komme ich nicht auf den Fehler.

                Trotzdem danke für deine Bemühungen.

                Gruß
                The Human Mirror - Mein Blog!
                www.sonicsense.de - The future of music!

                Kommentar


                • #23
                  Hier das funktionierende:
                  das heißt? wie weit läufts korrekt?

                  - stell error_reporting auf E_ALL!
                  - laß dir die queries per echo ausgeben ...
                  - laß das semikolon weg
                  - teste in php_my_admin o.ä.
                  - woher kommen die variablen?
                  ...
                  ich seh noch tausend debug-möglichkeiten

                  von wegen, der code wäre nicht chaotisch ...

                  PHP-Code:
                  echo $sql_csort 'SELECT menusort FROM content WHERE menusort < '.$id.' AND status = "category" ORDER BY menusort DESC LIMIT 1'
                  Die Zeit hat ihre Kinder längst gefressen

                  Kommentar


                  • #24
                    Original geschrieben von derHund
                    das heißt? wie weit läufts korrekt?

                    - stell error_reporting auf E_ALL!
                    - laß dir die queries per echo ausgeben ...
                    - laß das semikolon weg
                    - teste in php_my_admin o.ä.
                    - woher kommen die variablen?
                    ...
                    ich seh noch tausend debug-möglichkeiten

                    von wegen, der code wäre nicht chaotisch ...

                    PHP-Code:
                    echo $sql_csort 'SELECT menusort FROM content WHERE menusort < '.$id.' AND status = "category" ORDER BY menusort DESC LIMIT 1'

                    Das funktionierende läuft komplett durch! Ohne Fehler!

                    1. error_reporting : Gemacht! Keine Fehlermeldung
                    2. OR DIE mysql error : An allen Stellen gemacht! Skript hakt sich auf mal weiter vorne mal weiter hinten! Keine Fehlermeldung
                    3. Querys enthalten soweit das was sie enthalten sollen
                    4. Mit oder ohne Semikolon, es klappt niccht
                    5. Die Variablen kommen aus einem Form und werden korrekt übergeben.

                    :[
                    The Human Mirror - Mein Blog!
                    www.sonicsense.de - The future of music!

                    Kommentar


                    • #25
                      Das funktionierende läuft komplett durch! Ohne Fehler!
                      das rote ist vollständig rot, ohne grün oder blau ....
                      3. Querys enthalten soweit das was sie enthalten sollen
                      ...

                      was funktioniert nicht?

                      stell einfach fest, bis zu welcher zeile sich dein schnipsel so verhält, wie er soll, und finde den fehler ...
                      und sag nicht, du findest die zeile nicht.
                      Die Zeit hat ihre Kinder längst gefressen

                      Kommentar


                      • #26
                        ich muss @wahsage Recht geben irgendwo sinnlos.......

                        Ich begreifs net das Script nach und nach eingrenzen und dann schwupps kommt man zum Fehler. Spontan würde ich zunächst die SQL Statments bei PHPMYADMIN auf Ausgabe und Syntax überprüfen bevor ich an den Code gehe.......
                        [color=blue]MfG Payne_of_Death[/color]

                        [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
                        [color=red]Merke:[/color]
                        [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

                        Murphy`s Importanst LAWS
                        Jede Lösung bringt nur neue Probleme
                        Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
                        In jedem kleinen Problem steckt ein großes, das gern raus moechte.

                        Kommentar

                        Lädt...
                        X