Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehlermeldung XAMPP

Einklappen

Neue Werbung 2019

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

  • Fehlermeldung XAMPP

    Hallo,

    hier eine Fehlermeldung, die nicht immer angezeigt wird.

    Code:
    [Sun Feb 09 11:03:58.883324 2020] [php7:error] [pid 10108:tid 1916] [client ::1:50865] PHP Fatal error:  Uncaught Error: Call to a member function fetch_array() on bool in C:\\xampp\\htdocs\\module.php:13\nStack trace:\n#0 {main}\n  thrown in C:\\xampp\\htdocs\\module.php on line 13
    PHP-Code:
     $query $link->query("SELECT lizenz, version, fe2_ip, title, virtueller_dag, grid_dag, email FROM tbl_users WHERE user_id=".$_SESSION['userSession']);
     
    $userRow=$query->fetch_array(); // on line 13
     
    $lizenz $userRow['lizenz'];
     
    $version $userRow['version'];
     
    $fe2_ip $userRow['fe2_ip'];
     
    $title $userRow['title'];
     
    $username $userRow['email'];
     
    $virtueller_dag $userRow['virtueller_dag'];
     
    $grid_dag $userRow['grid_dag'


  • #2
    Das ist eine Fehlermeldung von PHP, nicht von XAMPP.

    Deine Abfrage schlägt fehl. Weshalb kann ich Dir nicht sagen. Lass Dir die Abfrage mit echo ausgeben und führ sie im phpMyAdmin aus. Oder beschäftige Dich mit mysqli_error() um herauszufinden wie man seine Abfragen debuggt.

    https://www.php.net/manual/de/mysqli.error.php
    https://www.php.net/manual/de/mysqli...eport-mode.php

    Kommentar


    • #3
      PHP-Code:
      WHERE user_id=".$_SESSION['userSession'] 

      Hier hast eine SQL Sicherheitslücke. Verwende Prepared Statements oder validiere und maskiere deine Parameter.

      Kommentar


      • #4
        Zitat von jonas3344 Beitrag anzeigen
        Das ist eine Fehlermeldung von PHP, nicht von XAMPP.

        Deine Abfrage schlägt fehl. Weshalb kann ich Dir nicht sagen. Lass Dir die Abfrage mit echo ausgeben und führ sie im phpMyAdmin aus. Oder beschäftige Dich mit mysqli_error() um herauszufinden wie man seine Abfragen debuggt.

        https://www.php.net/manual/de/mysqli.error.php
        https://www.php.net/manual/de/mysqli...eport-mode.php
        hallo jonas3344,
        so wird doch alles protokolliert oder nicht?

        PHP-Code:
        error_reporting(E_ALL);
        ini_set('display_errors''Off');
        ini_set('error_log''C:/xampp/apache/logs/phperror.log'); 

        Kommentar


        • #5
          PHP ist nicht dasselbe wie MySQL. Was du hier protokollierst sind alle PHP-Fehler/Warnungen/Notizen (wobei ich display_errors auf On setzen würde).
          Die Fehler der Datenbank musst du separat behandeln.

          Kommentar


          • #6
            Zitat von blackfire Beitrag anzeigen
            so wird doch alles protokolliert oder nicht?

            PHP-Code:
            error_reporting(E_ALL);
            ini_set('display_errors''Off');
            ini_set('error_log''C:/xampp/apache/logs/phperror.log'); 
            Nein, das Error-Reporting von mysqli muss separat eingeschaltete werden:

            PHP-Code:
            mysqli_report(MYSQLI_REPORT_ERROR); 

            Kommentar


            • #7
              Zitat von protestix Beitrag anzeigen
              PHP-Code:
              WHERE user_id=".$_SESSION['userSession'] 

              Hier hast eine SQL Sicherheitslücke. Verwende Prepared Statements oder validiere und maskiere deine Parameter.
              leider habe ich noch keine Ahnung von SQL Injektionen usw. bin noch mit Grundlagen PHP, HTML, SQL usw. beschäftigt


              PHP-Code:
               $query $link->query("SELECT lizenz, version, fe2_ip, title, virtueller_dag, grid_dag, email FROM tbl_users WHERE user_id=".$_SESSION['userSession']); 
              ist das ein Lösungsansatz?

              PHP-Code:
                $query $link->prepare("SELECT lizenz, version, fe2_ip, title, virtueller_dag, grid_dag, email FROM tbl_users WHERE (?)=".$_SESSION['userSession']);
                
              $query = ("s"$user_id); 

              Kommentar


              • #8
                Was darf denn in $_SESSION['userSession'] drin stehen?

                Kommentar


                • #9
                  Zitat von protestix Beitrag anzeigen
                  Was darf denn in $_SESSION['userSession'] drin stehen?
                  PHP-Code:
                  session_start();

                   if (isset(
                  $_SESSION['userSession'])) {
                      
                  header("Location: test.php");
                      exit;

                  die User_ID muss mit der Session_ID gleich sein / also true

                  Kommentar


                  • #10
                    Ich dachte eigentlich eher an abc oder
                    1023" OR 1--
                    oder nur 1234

                    Und genau darauf musst du prüfen.

                    Kommentar

                    Lädt...
                    X