Pez: mysql_fetch_assoc

Hallo.

Ich habe folgende Funktion bei einem Übungsbeispiel:

function get_SQL( $sSql)
 {
  global $db_sDatenbank, $db_verbindung;

$ergebnis = mysql_query($sSql, $db_verbindung);
  //gibt result-ID zurück
  //es folgt Error Protokoll, wenn ! ergebnis
  if (!$ergebnis){
   error_log($sSql,0);
   error_log(mysql_error(),0);
  }

$arRecordset = array();
  // Initialisierung des Arrays
  while ($dDatensatz = mysql_fetch_assoc($ergebnis)) {
   // Sowohl Speicherung als auch Bedingung wird hier durchgeführt bzw. überprüft
   array_push($arRecordset, $dDatensatz);
  }
  return $arRecordset;
         }

Jetzt bekomme ich folgende Fehlermeldung und finde leider keinen Fehler mehr. Ich weiß jetzt nicht genau, ob euch diese kleine Ausschnitt überhaupt hilft, wenn er so aus dem Zusammenhang gerissen ist.

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in D:\XAMPP\xampp\htdocs\Common_Functions.php on line 44

  1. Hi,

    Jetzt bekomme ich folgende Fehlermeldung und finde leider keinen Fehler mehr. Ich weiß jetzt nicht genau, ob euch diese kleine Ausschnitt überhaupt hilft, wenn er so aus dem Zusammenhang gerissen ist.

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in D:\XAMPP\xampp\htdocs\Common_Functions.php on line 44

    Wenn keine Schreibfehler bei Variablennamen vorliegen (darauf haettet dich auf E_ALL gestelltes Error Reporting hinweisen sollen), dann muss also bei der Abfrage was schiefgegangen sein, d.h. mysql_error muesste eine Fehlermeldung liefern. Was sagt das denn, wenn du es mal direkt hinter mysql_query setzt, anstatt es irgendwo ins Error Log zu schreiben?

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. Ok, danke hab den Fehler, war in der Abfrage.

  2. echo $begrüßung;

    $ergebnis = mysql_query($sSql, $db_verbindung);
      //gibt result-ID zurück
      //es folgt Error Protokoll, wenn ! ergebnis
      if (!$ergebnis){
       error_log($sSql,0);
       error_log(mysql_error(),0);
      }

    Wenn ein Fehler auftrat ist es zwar sinnvoll, diesen dem Administrator zur Verfügung zu stellen, beispielsweise wie hier geschehen in ein Error-Log, danach sollte man aber auch den weiteren Ablauf angemessen gestalten und nicht fortfahrten als wäre nichts geschehen.

    echo "$verabschiedung $name";

    1. Ich weiß jetzt nicht genau, was du meinst?

      1. Hi,

        Ich weiß jetzt nicht genau, was du meinst?

        Und wir nicht, was du meinst.

        Wenn du zu dedlfix' Anmerkung eine konkrete Frage hast, dann stelle diese bitte. Ein "Hae?" oder sinnverwandtes bringt uns aber nicht weiter.

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“
    2. Konkret meinte ich diesen Satz:

      Wenn ein Fehler auftrat ist es zwar sinnvoll, diesen dem Administrator zur Verfügung zu stellen, beispielsweise wie hier geschehen in ein Error-Log, danach sollte man aber auch den weiteren Ablauf angemessen gestalten und nicht fortfahrten als wäre nichts geschehen.

      echo "$verabschiedung $name";

      Welchen weiteren Ablauf?

      Was ist mit echo "$verabschiedung $name"; gemeint?

      1. Hi,

        Wenn ein Fehler auftrat ist es zwar sinnvoll, diesen dem Administrator zur Verfügung zu stellen, beispielsweise wie hier geschehen in ein Error-Log, danach sollte man aber auch den weiteren Ablauf angemessen gestalten und nicht fortfahrten als wäre nichts geschehen.

        Welchen weiteren Ablauf?

        Na den weiteren Ablauf deines Scriptes.
        Ob deine Abfrage geklappt hat oder nicht - du versuchst danach lustig Datensaetze abzuholen, die's aber nicht gibt, wenn was schief ging.

        Also fragt man erst mal ab, ob die Abfrage fehlerfrei ausgefuehrt werden konnte - wenn ja, kann man dann weitermachen, wenn nein ...

        Was ist mit echo "$verabschiedung $name"; gemeint?

        Kleiner Programmiererscherz, statt "echter" Verabschiedung.

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“