Fehler bei mehreren Abfragen

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

  • Fehler bei mehreren Abfragen

    hallo

    habe folgendes problem also das script läuft auf meinem pc problemlos nur wenn ich es hochlade kommen fehlermeldung wo ich keine ahnung habe wieso muss an den mehrern abfragen zur db liegen

    PHP-Code:

    MYSQL_CONNECT
    ($dbserver,$dbuser,$dbpasswort);
    MYSQL_SELECT_DB($dbdatenbank);

    MYSQL_QUERY("UPDATE $dbtabelle3 SET lage_beschreibung = '$lage_beschreibung' WHERE id = '$objid'");
    $result MYSQL_QUERY("SELECT counter FROM $dbtabelle4 WHERE bundesland = '$lage_bundesland'");
    $row MYSQL_FETCH_ARRAY($result);
    $counter $row['counter']+1
    MYSQL_QUERY("UPDATE $dbtabelle4 SET counter = '$counter' WHERE bundesland = '$lage_bundesland'");
        
    $result MYSQL_QUERY("SELECT * FROM $bundesland WHERE stadt = '$ort'");
    $row MYSQL_FETCH_ARRAY($result);
    ... 
    WARNING: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in .... zeilenangabe und zwar auf die letzte zeile $row...

    1. weis jmd wo der fehler ist
    2. kann man nicht mehrere abfragen hintereinander machen ?
    3. wo benutzt man das MYSQL_FREE_RESULT()
    4. was muss ich beachten bei datenbankabfragen ...
    wäre nett wenn ihr was dazu scrhreiben könntet da das script auf meinem pc komplett und ohne fehler läuft

    Mfg Bob

  • #2
    Re: Fehler bei mehreren Abfragen

    WARNING: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in .... zeilenangabe und zwar auf die letzte zeile $row...
    könnte einfach daran liegen, dass kein ergebnis zurückgeliefert wurde, da kein passender datensatz in der db vorhanden ist.

    2. kann man nicht mehrere abfragen hintereinander machen ?
    doch, natürlich kann man.

    3. wo benutzt man das MYSQL_FREE_RESULT()
    nachdem du alle ergebnisse der entsprechenden query abgearbeitet hast, kannst du dieses ergebnis wieder freigeben, z.b. bevor du eine weitere abfrage machst.

    wäre nett wenn ihr was dazu scrhreiben könntet da das script auf meinem pc komplett und ohne fehler läuft
    wie werden den die daten, die du als where-bedingung heranziehst, an das script übergeben?
    könnte evtl. ein register_globals-problem sein (->suchen!).
    mach mal eine testausgabe ins script rein, ob auch alle variablen die werte beinhalten, die du erwartest.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      hallo

      meine mehrere abfragen ohne MYSQL_FREE_RESULT() ok sind oder ob man lieber das zwischen die querys machen sollte
      ich schreib mal kompletten quelltext hin naja mal sehn vielleicht findet jmd fehler also die übergebenen variablen stimmen und falls jmd verbesserungsvorschlag hat sagt es ruhig danke

      PHP-Code:

      MYSQL_CONNECT
      ($dbserver,$dbuser,$dbpasswort);
      MYSQL_SELECT_DB($dbdatenbank);

      MYSQL_QUERY("UPDATE $dbtabelle3 SET lage_beschreibung = '$lage_beschreibung' WHERE id = '$objid'");
      $result MYSQL_QUERY("SELECT counter FROM $dbtabelle4 WHERE bundesland = '$lage_bundesland'");
      $row MYSQL_FETCH_ARRAY($result);
      $counter $row['counter']+1;

      MYSQL_QUERY("UPDATE $dbtabelle4 SET counter = '$counter' WHERE bundesland = '$lage_bundesland'");
      $bundesland "fewo_".$lage_bundesland;
      $ort $_POST['lage_ort'];
      $result MYSQL_QUERY("SELECT * FROM $bundesland WHERE stadt = '$ort'");
      $row MYSQL_FETCH_ARRAY($result);


      if (
      $row['counter'] == "")
      {
      MYSQL_QUERY("INSERT $lage_bundesland (stadt,counter) VALUES ('$ort','1')");
      }
      else
      {
      $result MYSQL_QUERY("SELECT counter FROM $bundesland WHERE stadt = '$ort'");
      $row MYSQL_FETCH_ARRAY($result);
      $counter $row['counter']+1
      MYSQL_QUERY("UPDATE $lage_bundesland SET counter = '$counter' WHERE stadt = '$ort'");
      }
      MYSQL_FREE_RESULT($result);
      MYSQL_CLOSE(); 
      FEHLER war in zeile wo das 2. mal $row = MYSQL_FETCH_ARRAY($result);
      steht und unten bei MYSQL_FREE_RESULT($result)

      Mfg Bob
      Zuletzt geändert von CyberBobMarley; 10.03.2003, 12:50.

      Kommentar

      Lädt...
      X