Ankündigung

Einklappen
Keine Ankündigung bisher.

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given ...

Einklappen

Neue Werbung 2019

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

  • Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given ...

    Hallo an alle,

    ich habe ein Programm geschrieben, welches eine sql Auswertung beinhaltet, weiterverarbeiten und per header Get parameter auf eine Seite weiterleitet.

    Nun zu meinem Problem: Ich habe ein etwas kompliziertere sql abfrage gemacht (siehe unten). Anscheinend kommt mysql_fetch_assoc damit nicht klar. Könnt ihr mir da weiterhelfen?

    Hier der Code:

    PHP-Code:

    <?php
    error_reporting
    (E_ALL);
    ini_set("display_errors"1);


    // Open database
        
    $connHandle mysql_connect("Beispiel1","Beispiel2""Beispiel 3""Beispiel4" );

        if( !
    $connHandle ) {
        die( 
    "Connection failed with error: " mysql_error() );
        return;
        }
        
    $db_selected mysql_select_db"Beispiel4"$connHandle );

        if( !
    $db_selected ) {
        die( 
    "Couldn't select database. Error message: " mysql_error() );
        return;
        }
        
    $querySelectTopUser 'set @top := (SELECT MAX(`counted`) from (select count(`Checkin`.`UID`) as `counted` from `Checkin` where MONTH(`Datum`) = MONTH(NOW()) 
    group by `Checkin`.`UID`) as `subquery`);

    SELECT `Karte`.`Kartennummer` as Kartennummer,
    (@top - count(`Checkin`.`UID`)) as Vorsprung
    FROM `Checkin`,`Karte`,`Kunde`
    WHERE `Checkin`.`UID` = `Karte`.`UID` AND
    `Karte`.`Kundennummer` = `Kunde`.`Kundennummer` AND
    `Checkin`.`ID_Anbieter` != 1 AND
    MONTH(`Datum`) = MONTH(NOW())
    group by `Checkin`.`UID`
    ORDER BY count(`Checkin`.`UID`) DESC
    LIMIT 10'
    ;

    $resSelectTopUser mysql_query($querySelectTopUser);
     
          while(
    $TopUser mysql_fetch_assoc($resSelectTopUser)){

              
    $TopUserKartennummer $TopUser['Kartennummer']."+";
              
    $TopUserVorsprung $TopUser['Vorsprung']."+";
          }    

        

    // Close database connection
            
    $close_res mysql_close$connHandle );

            if( !
    $close_res ) {
            die( 
    "Error while closing the database. Error message: " mysql_error() );
            return;
            }
        
    header('Location:https://Beispiel.de/Beispiel-nutzer?TopUser='.$TopUserKartennummer.'&Vorsprung='.$TopUserVorsprung);
            
    ?>
    Kann mir da jemand helfen? Hier die Fehlermeldung dazu:

    Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in PFAD/DATEINAME.php on line 37 Notice: Undefined variable: TopUserKartennummer in PFAD/DATEINAME.php on line 52 Notice: Undefined variable: TopUserVorsprung in PFAD/DATEINAME.php on line 52 Warning: Cannot modify header information - headers already sent by (output started at PFAD/DATEINAME.php:37) in PFAD/DATEINAME.php on line 52

  • #2
    Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given
    http://php-de.github.io/jumpto/faq/#sql-error
    Query vermutlich falsch -> mysql_error()

    und

    mysql_
    http://php-de.github.io/jumpto/faq/#deprecated-mysql

    LG
    The string "()()" is not palindrom but the String "())(" is.

    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Zitat von xplosio Beitrag anzeigen
      Kann mir da jemand helfen?
      Ja, MySQL selbst. Die Fehlermeldung rückt MySQL allerdings nicht von selbst raus, du musst danach fragen (mit mysql_error()). Tipp: mysql_query() kann nur einen Query ausführen, du übergibst aber zwei.

      Außerdem: die mysql_*-Funktionen sind veraltet, verwende mysqli oder PDO.

      Kommentar


      • #4
        und wilkommen im forum und
        http://www.php.de/php-fortgeschritte...uncements.html

        Kommentar


        • #5
          Danke erstmal für die schnelle Antwort.

          Ich habe die SQL Auswertung in meiner Datenbank ausgeführt. Diese ist ohne Fehler durchgelaufen. Allerdings (dank des Hinweises von tk1234) habe ich durch mysql_error folgenden fehler laut php:

          SQL query ERROR. Error message: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT `Karte`.`Kartennummer` as Kartennummer, (@top - count(`Checkin`.`U' at line 5

          kann das sein, dass es daran hängt, dass mysql_query() (so auch laut tk1234) nur eine Query ausführen kann?

          Danke schonmal! Außerdem danke das ihr mich auf die veraltete mysql Version aufmerksam macht!

          Kommentar


          • #6
            Zitat von xplosio Beitrag anzeigen
            Ich habe die SQL Auswertung in meiner Datenbank ausgeführt. Diese ist ohne Fehler durchgelaufen.
            Du meinst in phpMyAdmin? Das liegt daran dass pma in so einem Fall automatisch mehrere Querys draus mach und einzeln an die Datenbank schickt.

            kann das sein, dass es daran hängt, dass mysql_query() (so auch laut tk1234) nur eine Query ausführen kann?
            Ja. In der Fehlermeldung steht idR das was nach dem Fehler im Query kommt - und in deinem Fall ist für MySQL der Query nach dem ersten ; zu Ende und MySQL stolpert dann über das dann folgende SELECT.

            Kommentar


            • #7
              Ok, vielen Dank.

              Dann hat sich meine die Frage erledigt.

              Kommentar

              Lädt...
              X