Datenbankabfrage mit Fehlermeldung.

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

  • Datenbankabfrage mit Fehlermeldung.

    Hallo, kann mir mal jemand kurz erläutern, wo hier der Fehler liegt?

    PHP-Code:
    ...$verbindung = @mysqli_connect($server$benutzer$passwort);                    
            
            
    $sql "SELECT count(*) AS anzahl FROM quelle WHERE quelle = ".$_POST['quelle']." ";
            
    $query mysqli_query($verbindung$sql);
            
    $row mysqli_fetch_object($query);
            if(
    $row->anzahl 0
            {
                                    echo 
    "<center<b>Gruppe schon vorhanden.</b></center><br>";
                            exit;
            }... 
    Ergebnis: mysqli_fetch_object() expects parameter 1 to be mysqli_result, string given in...

    Danke.

  • #2
    Du unterdrückst Fehlermeldungen (@) und prüfst nicht, ob die Datenbankabfrage überhaupt erfolgreich war.

    Davon abgesehen baust du schöne Sicherheitslücken, weil du das SQL-Escaping vergisst.

    <center> ist übrigens veraltet und sollte nicht mehr verwendet werden. <b> ist auch ein Relikt aus vergangenen Tagen.

    Kommentar


    • #3
      Alles klar, DANKE hat geklappt, hatte im Script weiter oben schon mal die Verbindungsprüfung, dachte wohl, einmal muss reichen...lol

      PHP-Code:
      $verbindung = @mysqli_connect($server$benutzer$passwort);

              if (
      $verbindung){
               
      mysqli_select_db($verbindung$datenbank);
                    
               if(
      mysqli_error($verbindung)){
               echo 
      'Fehler: ' mysqli_error($verbindung);
                      
              }else{
                              
              
      $sql "SELECT count(*) AS anzahl FROM quelle WHERE    quelle='".mysqli_real_escape_string($verbindung,$_POST['quelle'])."'";
              
      $query mysqli_query($verbindung$sql);
              
      $row mysqli_fetch_object($query);
              if(
      $row->anzahl 0
              {
                                      echo 
      "<center><b>Gruppe schon vorhanden.</b></center><br>";
                              exit;
              }... 
      Das <center> und das <b> möchte ich aus historischen Gründen gern behalten dürfen .

      Kommentar


      • #4
        Du solltest auch noch prüfen, ob mysqli_query() wirklich ein Result liefert oder nicht.

        Deine Variable ist übrigens ungünstig benannt. In $query ist kein Query, sondern (im Normalfall) ein Result.

        PHP-Code:
        if ($result instanceof mysqli_result) {
            
        // $result ist OK
        } else {
            
        // irgendwas ist schief gelaufen

        Kommentar

        Lädt...
        X