Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] MySQL-Abrage wird nicht ausgegeben

Einklappen

Neue Werbung 2019

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

  • [Erledigt] MySQL-Abrage wird nicht ausgegeben

    Hi zusammen,
    ich habe hier ein ganz blödes Problem, was eigentlich banal einfach ist wahrscheinlich, aber ich sehe nicht die Lösung:

    PHP-Code:
    $sql "SELECT * FROM downloads_cats WHERE mother = NULL ORDER BY position ASC";
    $res $core->sql_query($sql);
    while(
    $row $res){    
        echo 
    '<a href="index.php?mode="viewcat"&id=' $row['id'] . '>' $row['name'] . '</a>';

    Die Methode $core->sql_query() sieht so aus:
    PHP-Code:
    public function sql_query($sql){
        
    $res mysql_query($sql);
        
    $res mysql_fetch_array($res);
        return 
    $res;

    Verbindung ist da; Es wird auch kein Fehler ausgegeben, die Seite bleibt einfach nur leer... Es gibt insgesamt zwei Datensätze in der Tabelle, die mother = NULL haben.

    Erwähnenswert ist vielleicht noch, dass wenn ich aus der Abfrage WHERE mother = NULL rausnehme, dass dann das Script komplett abstürzt (Endlosschleife?) (eigentlich dann auch insgesamt nur 4 Datensätze)

    Ciao,
    Niklas
    PHP-Code:
    if($_user == "php.de"){
         echo 
    ":-)";



  • #2
    1. IS NULL ?
    2.
    PHP-Code:
    while($row $res){ 
    so geht es nicht. Dann lieber mit foreach() arbeiten

    Kommentar


    • #3
      Endlosschleife?
      Was denkst Du denn auch, was hier passieren soll: while($row = $res)
      public function sql_query($sql){
      $res = mysql_query($sql);
      $res = mysql_fetch_array($res);
      return $res;
      }
      Variablennamen: Aua, Fehlerbehandlung: Fehlanzeige, Sinn: fragwürdig..
      --

      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
      Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


      --

      Kommentar


      • #4
        Sorry, wenn euch die Fragen etwas dumm kommen.
        PHP-Code:
        while($row mysql_fetch_array($result)) 
        So habe ich es bisher immer gemacht und es hat auch hervorragend funktioniert. Jetzt habe ich ja eigentlich nichts anderes, denn die Methode sql_query() gibt ja einen Wert zurück der von der mysql_fetch_array-Funktion abhängt.

        @nikosch:
        Was ist so verkehrt an den Variablennamen? Dass eine Variable mehrfach weiterverarbeitet wird.
        Ich habe jetzt:
        PHP-Code:
            public function sql_query($sql){
                
        $res mysql_query($sql);
                
        $ret mysql_fetch_array($res);
                return 
        $ret;
            } 
        und
        PHP-Code:
                $sql "SELECT * FROM downloads_cats WHERE mother IS NULL ORDER BY position ASC";
                
        $res $core->sql_query($sql);
                if(
        $res){
                    while(
        $row $res){    
                        echo 
        '<a href="index.php?mode="viewcat"&id=' $row['id'] . '>' $row['name'] . '</a>';
                    } 
        Statt while() foreach() kann ja eigentlich nicht funktionieren. Das in der ersten Code-Box funktionierte ja sonst auch und es ist im Endeffekt ja das selbe...

        Ciao,
        Niklas
        PHP-Code:
        if($_user == "php.de"){
             echo 
        ":-)";

        Kommentar


        • #5
          wieso nciht 2 public methoden erstellen?
          PHP-Code:
          private $res;
           public function 
          query($sql){
                  
          $this->res mysql_query($sql);
              }  
          public function 
          fetch_array(){
           return 
          mysql_fetch_array($this->res);

          dann müsste es klappen mit dem while($row = $core->fetch_array())

          aber wie nikosch schon sagte : Sinn: fragwürdig..
          apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

          Kommentar


          • #6
            So habe ich es bisher immer gemacht und es hat auch hervorragend funktioniert. Jetzt habe ich ja eigentlich nichts anderes, denn die Methode sql_query() gibt ja einen Wert zurück der von der mysql_fetch_array-Funktion abhängt.
            Code:
            while (geldalle != gehe_zum_supermarkt ())
              {
              packe_Einkauf_in_den_schrank();
              }
            
            vs.
            
            restgeldstatus = gehe_zum_supermarkt ();
            while (geldalle != restgeldstatus)
              {
              packe_Einkauf_in_den_schrank();
              }
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar

            Lädt...
            X