Ankündigung

Einklappen
Keine Ankündigung bisher.

Php7.4 umstieg, Fehler!

Einklappen

Neue Werbung 2019

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

  • Php7.4 umstieg, Fehler!

    Hallo zusammen,
    steige grad auf php7.4 um und bekomme diese Fehlermeldung

    Notice: Trying to access array offset on value of type null in

    in dieser Zeile.

    PHP-Code:
     $seite_2 mysqli_fetch_assoc(mysqli_query($DB"SELECT * FROM pages WHERE id = '".(int)$seite_3['menu']."' LIMIT 1")); 
    kann mir da jemand helfen, Bitte?!

    Hier ein bisschen mehr vom Code:

    PHP-Code:
    $seite mysqli_fetch_assoc(mysqli_query($DB"SELECT * FROM pages WHERE id = '".(int)$explode['0']."' LIMIT 1"));

    if (!empty(
    $seite['id'])) {

    if (
    $optionen['page_seite'] == 0) {

    $ausgabe '';

    $seite_3 mysqli_fetch_assoc(mysqli_query($DB"SELECT * FROM pages WHERE id = '".(int)$seite['menu']."' LIMIT 1"));
    $seite_2 mysqli_fetch_assoc(mysqli_query($DB"SELECT * FROM pages WHERE id = '".(int)$seite_3['menu']."' LIMIT 1"));
    $seite_1 mysqli_fetch_assoc(mysqli_query($DB"SELECT * FROM pages WHERE id = '".(int)$seite_2['menu']."' LIMIT 1")); 
    Gruss

  • #2
    der fehler sagt dass einer von deinen Seiten eine null ist.

    must mal mit var_dump($seite,$seite_3,$seite_2,$seite_1); ausgeben und schauen wieso es leer ist.

    Übrigens sollte man nicht mysqli_query direkt an mysqli_fetch übergeben sondern vorher an eine varaible abspeichern.

    Kommentar


    • #3
      Fehlersuche betreiben.
      Was steht in $seite_3['menu'] drin?

      Des weiteren ist es usus hier, dass man Code nicht einfach so präsentiert, sondern dass man dazu diesen in PHP Tags, wie ich nun zeige, einschliesst.
      PHP-Code:
      $seite_2 mysqli_fetch_assoc(mysqli_query($DB"SELECT * FROM pages WHERE id = '".(int)$seite_3['menu']."' LIMIT 1")); 
      SELECT Stern sollte man nicht verwenden.
      Seite_3 ist auch schlecht gewählt, vermeide durchnummerierte Variablen, verwende stattdessen besser Arrays so wie du jetzt auch machst nur halt als mehrdimensionales Array.

      Wenn id eine Ganzzahl ist, warum schliesst du diese dann in Anführungszeichen ein?
      Wenn dort 4 steht wird daraus
      PHP-Code:
      SELECT FROM pages WHERE id '4' LIMIT 1 

      Bei Mysql solltest du zudem Spalten und Tabellennamen in sogenannte `Backticks` einschliessen.

      Kommentar


      • #4
        Danke für die schnellen antworten, ich werde eure Ratschläge umsetzten und habe den Fehler auch schon gefunden, war eine falsche übergabe!

        Kommentar


        • #5
          Hallo zusammen,

          hier ist zwar länger nichts passiert aber ich habe einen ähnlichen Fehler beim Umstieg von PHP7.3 auf 7.4

          Ich erhalte die Fehlermeldung: Notice: Trying to access array offset on value of type int in ....... on line 168

          Zeile 168:
          PHP-Code:
          if($row["Kuerzel"]=="di53"){echo "$row[Vorname] - $row[Name]<br>";} 
          Hier ein bisschen mehr von dem Code

          PHP-Code:
          foreach($rows as $row){
          if(
          $row["Kuerzel"]=="di53"){echo "$row[Vorname] - $row[Name]<br>";}

          PHP-Code:
          require_once('config/config.php');                    
          $query "SELECT * FROM sc_tt_verk";
          $result mysqli_query$db_link$query );
          if ( ! 
          $result ){die('Ungültige Abfrage: ' mysqli_error());}

          $rows[] = 0;
          while(
          $row $result->fetch_array()){
          $rows[] = $row;

          Vielen Dank

          Gruß Basti

          Kommentar


          • #6
            SELECT * sollte nicht verwendet werden. Gib im SELECT immer die Spalten an, die du erwartest.

            Und bitte mache einen neuen Thread auf und hijacke keine uralten Threads.

            Kommentar

            Lädt...
            X