Kurze Frage zu Problem mit PHP

Kurze Frage zu Problem mit PHP | PSD-Tutorials.de

Erstellt von Kadey, 29.12.2018.

  1. Kadey

    Kadey Nicht mehr ganz neu hier

    Dabei seit:
    08.07.2009
    Beiträge:
    113
    Geschlecht:
    männlich
    Kurze Frage zu Problem mit PHP
    Hallo,

    könnte mir jemand bei meinem Problem behilflich sein oder ein paar Tipps geben.

    Habe folgende Funktion und möchte nun die übergebenen Parameter in meinen INNER JOIN einbauen, leider weis ich nicht wie, da ich hier die Kurzschreibweise nutze...Dies ist mein erste Problem.

    PHP:
    1. // LKW_Tour_anzeigen
    2. function tour_anzeigen($tour, $id, $db){
    3.  
    4.  
    5. $l1 = $db->query("SELECT * FROM kontakte k
    6.                INNER JOIN
    7.                tour t ON (k.tour = t.id) // <-- HIER sollen $tour und $id rein....
    8.                WHERE lkw = 1");
    9.                
    10.             while ($touren = $l1->fetch_object()) {
    11.                         $anzahl[] = $touren;
    12.                     }
    13.             $l1->free();
    14.             echo "<h1>LKW 1</h1>";
    15.             if ( !count($anzahl) ) {
    16.             echo "<p>Derzeit keine Tour in Planung für </p>";
    17.             } else{
    18.                 ?>
    Dann das Zweite Problem....

    Die Verbindung zur DB baue ich wie folgt auf

    PHP:
    1.  
    2.  
    3. $db = new mysqli('localhost', 'root', '', 'termine');
    4. $db->set_charset('utf8');
    5.  
    6. if ($db->connect_errno){
    7.     die('Sorry - gerade gibt es ein Problem');
    8. }
    9.  
    10.  
    Die Funktion sowie der Aufbau zur DB liegen derzeit bei in derselben Datei.

    Leider erhalte ich immer folgende Fehlermeldung...

    Notice: Undefined variable: db in C:\xampp\htdocs\terminplanung\inc\db.php on line 36

    Fatal error: Uncaught Error: Call to a member function query() on null in C:\xampp\htdocs\terminplanung\inc\db.php:36 Stack trace: #0 C:\xampp\htdocs\terminplanung\touren.php(41): tour_anzeigen(3, 1) #1 {main} thrown in C:\xampp\htdocs\terminplanung\inc\db.php on line 36


    Blicke hier nicht mehr durch......
     
    #1      
  2. TutKit

    TutKit Vollzugriff

    Vollzugriff auf sämtliche Inhalte für Photoshop, InDesign, Affinity, 3D, Video & Office

    Suchst du einen effektiven Weg, um deine Geschäftsideen aber auch persönlichen Kenntnisse zu fördern? Teste unsere Lösung mit Vollzugriff auf Tutorials und Vorlagen/Erweiterungen, die dich schneller zum Ziel bringen. Klicke jetzt hier und teste uns kostenlos!

  3. owieortho

    owieortho Aktives Mitglied

    Dabei seit:
    25.06.2010
    Beiträge:
    740
    Geschlecht:
    männlich
    Ort:
    9.8241,51.3515
    Software:
    PS CS5, HomeSite
    Kameratyp:
    Casio EX-FH20
    Kurze Frage zu Problem mit PHP
    Deine Fehlermeldung zeigt auf line 36 und wir bekommen Deinen PHP-Code bis zur Zeile 18 zu sehen? Sollen wir jetzt hellsehen?

    Hast Du Deine MySQL-query mal direkt in der Datenbank ausgeführt?

    nur so ein Gedanke
    O.
     
    #2      
  4. Kadey

    Kadey Nicht mehr ganz neu hier

    Dabei seit:
    08.07.2009
    Beiträge:
    113
    Geschlecht:
    männlich
    Kurze Frage zu Problem mit PHP
    Hallo,

    meine Query funktioniert wenn ich sie direkt teste.

    Achso...die Fehlermeldung zeigt auf 36....ist auch richtig....hier im Forum ist es demnach aber Zeile 5 in der Funktion.

    Hier stimmt was nicht mit der Variable $db.....scheint mir als wäre diese innerhalb der Funktion nicht bekannt..
     
    #3      
  5. Curanai

    Curanai Aktives Mitglied

    Dabei seit:
    20.08.2011
    Beiträge:
    462
    Geschlecht:
    männlich
    Ort:
    Oldenburg
    Software:
    Notepad++, Brackets, HeidiSQL, CC, FL Studio, SEO PowerSuite, Rocksmith :D
    Kameratyp:
    Samsung S7 Edge :D
    Kurze Frage zu Problem mit PHP
    Hallo zusammen,

    ein paar Tipps:
    - INNER JOIN ist sehr Performance-intensiv (ressourcen-lastig); versuche den Weg über einen LEFT JOIN
    - SELECT * ist ebenfalls nicht zu empfehlen; verwende die Spaltennamen in Ticks
    - $li->num_rows() ergäbe direkt die Anzahl (kannst auf whilte(), $anzahl etc. verzichten)

    Du verdrehst da was: Der JOIN wird von Dir nicht mit Variablen gefüllt - es fehlt Deinem Query das WHERE. Der JOIN der Tables bezieht sich auf die Verknüpfung; willst Du eine Bedingung, benötigst Du WHERE. Deine Variablen gehören also nicht ins "ON".

    Wenn $db nicht bekannt ist in Deiner Funktion, scheint der Parameter nicht übergeben zu werden. Falls Du was übergibst, lass ihn Dir mal in der Funktion mit
    PHP:
    1. var_dump($db); exit;
    zeigen.

    Und dann siehst Du in Deiner FATAL ERROR Meldung, dass die Spur richtig ist: tour_anzeigen(3, 1) - da fehlt ein dritter Parameter, nämlich $db.

    Ich wünsche euch einen guten Rutsch.
     
    #4      
  6. webcasi

    webcasi Nicht mehr ganz neu hier

    Dabei seit:
    05.09.2018
    Beiträge:
    59
    Kurze Frage zu Problem mit PHP
    Hallo und erst einmal ein frohes Neues Jahr,

    also ich denke Du musst uns mal den ganzen Code in der Reihenfolge wie er bei Dir in der Datei ist posten.

    Einmal baust Du die Verbindung zur Datenbank auf, ein anderes mal steht dort eine Funktion. Den Aufruf der Funktion sehen wir gar nicht. Da kann man wirklich schlecht helfen.
     
    #5      
  7. webcasi

    webcasi Nicht mehr ganz neu hier

    Dabei seit:
    05.09.2018
    Beiträge:
    59
    Kurze Frage zu Problem mit PHP
    Ist das Problem gelöst?
     
    #6      
Seobility SEO Tool
x
×
×