Problem mit Skript bei Umstellung von PHP5.6 auf PHP7

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

  • #16
    egal, wo ich den Code in der Funktion getComments setze, es gibt keine Ausgabe. Ausserhalb der Funktion gibt es die Ausgabe NULL.

    Ich glaube die Funktion getComments wird nicht richtig verarbeitet.

    Kommentar


    • #17
      ich hab die funktion zum testen so formuliert:

      PHP-Code:
      function getComments($tutid){



          
      $sql="SELECT * FROM comments WHERE tutorialid='$tutid' ORDER BY date";


          if (
      $result=mysqli_query($con,$sql))
            
          {



            
      // Fetch one and one row
          
            
      while ($row=mysqli_fetch_row($result))


              {
              
      printf ("%s (%s)\n",$row[0],$row[2]);
              }


            
      // Free result set
            
      mysqli_free_result($result);
        }

       
          else


          
      var_dump($result);


                  } 
      wenn ich mit meinen bescheidenen VBA Kenntnissen das richtig sehe, kommt er in der Schlaufe nur zum var_dump, wenn die if Kondition nicht erfüllt ist.

      So gibt die Funktion NULL aus. Ich gehe davon aus, dass die Schlaufe nach if nicht durchlaufen wird.

      Kommentar


      • #18
        ich glaube die Verbindung zur DB geht verloren. wenn ich $con in der Funktion teste, ergibt sie NULL.
        hier zur besseren Übersicht die ganze Struktur:

        PHP-Code:
        <?php

        $db_hostname 
        "localhost";  //usually "localhost be default"
        $db_username "xxx";  //your user name
        $db_pass "xxx";  //the password for your user
        $db_name "xxx";  //the name of the database


        mysqli_report(MYSQLI_REPORT_ALL);  



        $con mysqli_connect($db_hostname$db_username$db_pass$db_name);


        // Check connection

        if (mysqli_connect_errno()){


          echo 
        "Failed to connect to MySQL: " mysqli_connect_error();

                      }


        function 
        getComments($tutid){

        var_dump($con);


            
        $sql="SELECT * FROM comments WHERE tutorialid='$tutid' ORDER BY date";


            if (
        $result=mysqli_query($con,$sql))
              
            {



              
        // Fetch one and one row
            
              
        while ($row=mysqli_fetch_row($result))


                {
                
        printf ("%s (%s)\n",$row[0],$row[2]);
                }


              
        // Free result set
              
        mysqli_free_result($result);
          }

         
            else


            
        var_dump($result);


                    }
        Zuletzt geändert von wheelie; 04.07.2018, 13:29.

        Kommentar


        • #19
          teste ich $con hier:

          PHP-Code:
          var_dump($con);

          function 
          getComments($tutid){ 
          ist die Ausgabe:

          Code:
          object(mysqli)#1 (19) {   ["affected_rows"]=>   int(0)   ["client_info"]=>   string(79) "mysqlnd 5.0.12-dev - 20150407 - $Id:  b5c5906d452ec590732a93b051f3827e02749b83 $"   ["client_version"]=>   int(50012)   ["connect_errno"]=>   int(0)   ["connect_error"]=>   NULL   ["errno"]=>   int(0)   ["error"]=>   string(0) ""   ["error_list"]=>   array(0) {   }   ["field_count"]=>   int(0)   ["host_info"]=>   string(25) "Localhost via UNIX socket"   ["info"]=>   NULL   ["insert_id"]=>   int(0)   ["server_info"]=>   string(14) "5.6.39-cll-lve"   ["server_version"]=>   int(50639)   ["stat"]=>   string(153) "Uptime: 756800  Threads: 6  Questions: 253913407  Slow  queries: 227  Opens: 1318713  Flush tables: 1  Open tables: 65536   Queries per second avg: 335.509"   ["sqlstate"]=>   string(5) "00000"   ["protocol_version"]=>   int(10)   ["thread_id"]=>   int(3546202)   ["warning_count"]=>   int(0) }
          test ich hier:

          PHP-Code:

          function getComments($tutid){

          var_dump($con); 
          Ist die Ausgabe NULL.

          Aber vielleicht muss das ja so sein.

          Kommentar


          • #20
            Zitat von wheelie Beitrag anzeigen
            egal, wo ich den Code in der Funktion getComments setze, es gibt keine Ausgabe. Ausserhalb der Funktion gibt es die Ausgabe NULL.
            Dann wird die Funktion wohl gar nicht ausgeführt.

            Kommentar


            • #21
              Zitat von h3ll Beitrag anzeigen
              Dann wird die Funktion wohl gar nicht ausgeführt.
              ich denke auch, verstehe aber nicht, wieso die nicht ausgeführt wird.

              Kommentar


              • #22
                wenn ich die Verbindung zur DB in die Funktion nehme, dann verarbeitet er die Funktion und es gibt folgenden Fehler:

                Code:
                [B]Fatal error[/B]:  Uncaught mysqli_sql_exception: No  index used in query/prepared statement SELECT * FROM comments WHERE  tutorialid='1' ORDER BY date in  /home/p4xch/public_html/riddle/50/inc_rate.php:126 Stack trace: #0 /home/p4xch/public_html/riddle/50/inc_rate.php(126):  mysqli_query(Object(mysqli), 'SELECT * FROM c...') #1 /home/p4xch/public_html/riddle/50/index.php(34): getComments('1') #2 {main}   thrown in [B]/home/p4xch/public_html/riddle/50/inc_rate.php[/B] on line [B]126[/B]
                Zuletzt geändert von wheelie; 04.07.2018, 13:45.

                Kommentar


                • #23
                  Hier ist wohl mysqli oder der MySQL-Server zu mitteilungsbedürftig. Du kannst das Error-Reporting etwas runter schrauben:

                  PHP-Code:
                  mysqli_report(MYSQLI_REPORT_ERROR MYSQLI_REPORT_STRICT); 

                  Kommentar


                  • #24
                    so, nun wird alles ausgegeben, etwas unstrukturiert zwar, aber damit kann ich arbeiten. ich schau mal wie weit ich kommen.

                    vielen dank, nun bin ich zumindest ein bisschen h3ll(3r) als zuvor

                    Kommentar


                    • #25
                      Umstellung auf php 7

                      also ich hab da auch ne etwas wo ich nicht mit klar komme bei der Umstellung habe soweit fast alles umstellen können aber mit 3 Zeilen bin ich etwas überfordert

                      PHP-Code:
                      if(!$id){$id $QUERY_STRING;}
                      if(!
                      $y && !$n && !$do){dcnt($id);}else{dvcnt($id$n$y);} 
                      PHP-Code:
                      if(!$n && !$y){ 
                      könnte mir da jemand einen Lösungsansatz zeigen zumindest den Wegzur Umstellung

                      Danke

                      Kommentar

                      Lädt...
                      X