Ankündigung

Einklappen
Keine Ankündigung bisher.

Komisches Verhalten bei Select

Einklappen

Neue Werbung 2019

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

  • Komisches Verhalten bei Select

    Hallo!

    ich verwende einen SQL-String, der ein Select auf eine Datenbank macht. Dazu habe ich diese Funktion im Einsatz:
    PHP-Code:
    function my_Query($strSql){
        
    $server"xxxxxxxx.db.1and1.com";
        
    $user"xxxxxx";
        
    $passwort"xxxxxxxx";
        
    $datenbank"xxxxxxx";

        
    $mysqliDebug true;
        
    $mysqli = @new mysqli($server$user$passwort$datenbank);
        
    // mysqli->connect_errno will return zero if successful
        
    if ($mysqli->connect_errno) {
            echo 
    '<p>There was an error connecting to the database!</p>';
            if (
    $mysqliDebug) {
                
    // mysqli->connect_error returns the latest error message,
                
    echo $mysqli->connect_error;
            }
            
    // since there is no database connection your queries will fail, quit processing
            
    die("Ende");
        }

        
    // the result (object or TRUE) depends on the query you execute

        
    $result $mysqli->query($strSql);
            if (!
    $result and $mysqliDebug) {
            
    // the query failed and debugging is enabled
            
    echo "<p>There was an error in query: $query</p>";
            echo 
    "<br>10: $strSql<br>".$mysqli->error;
                    
    //echo "4 ";
        
    return $result;
            
    /* free result set */
        
    $result->close();
        }

    der Sql_String und die Abfrage nach der Anzahl der Rows

    PHP-Code:
          $strSql "SELECT
                Pro_ID as ID,
                Pro_Subject as Thema,
                Pro_Bericht,
                Pro_Protokoll_von as Von,
                Pro_Wer as Ansp,
                Pro_Mit_Wem as Weitere,
                Pro_wann as Wann
                from 2018_crm_Protocol
                 order by Pro_Id desc"
    ;

          
    $result=myQuery($strSql);
           echo 
    "<hr>$strSql<br>Num Rows:<br> ".mysqli_num_rows($result); 
    Komischerweise ist der SQL-String korrekt (getestet mit phpMyAdmin, hier bekomme ich Ergebnisse).
    AN einer vorigen Stelle im PHP Script und an einer späteren Stelle rufe ich das Script mit anderen SQL Strings auf, da bekomme ich Ergebnisse aus der DB:



    nach 1 1/2 Tagen Suche traue ich meinen Analysen kaum, irgendwas übersehe ich.

    Hat jemand eine Idee?

    Bruno

  • #2
    Schau mal wo sich return $result befindet. Eindeutig in dem If-Block, der ausgeführt wird, wenn die Query fehlschlug. Da hat diese Anweisung und auch das $result->close nichts zu suchen.
    Abgesehen davon verlässt return sofort die Funktion, d.h. $result->close() wird nie ausgeführt.

    Kommentar


    • #3
      Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in......

      Kommentar


      • #4
        Schau mal wo sich return $result befindet. Eindeutig in dem If-Block, der ausgeführt wird, wenn die Query fehlschlug. Da hat diese Anweisung und auch das $result->close nichts zu suchen.
        Abgesehen davon verlässt return sofort die Funktion, d.h. $result->close() wird nie ausgeführt.

        Edit: sorry, wurde doppelt gesendet

        Kommentar


        • #5
          Autsch - das tut weh :=)

          Kommentar


          • #6
            Das doppelt gesendet?
            Spaß beiseite, solche Fehler kommen immer wieder vor

            Kommentar


            • #7
              Errare Humanum Est (Irren ist männlich) -> EHE

              Kommentar


              • #8
                Errare humanum est = Irren ist männlich

                Kommentar

                Lädt...
                X