backbone: syntax zur datenbank abfrage richtig?

Is die syntax hier so richtig oder mach ich da was falsch weil bei mir kommt immer die fehlermedung:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\server\raum\table.php on line 43

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\server\raum\table.php on line 44

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\server\raum\table.php on line 45

????

...
include('db_connect.php');
...

$abfrage_hardware="SELECT * FROM hardware WHERE pc_nr='$pc_nr'";
$abfrage_software="SELECT * FROM software WHERE pc_nr='$pc_nr'";
$abfrage_ea="SELECT * FROM ea WHERE pc_nr='$pc_nr'";

$result_1=mysql_fetch_array($abfrage_hardware);
$result_2=mysql_fetch_array($abfrage_software);
$result_3=mysql_fetch_array($abfrage_ea);

...

  1. hallo,

    $result_3=mysql_fetch_array($abfrage_ea);

    Du musst dieser Funktion noch mit auf den Weg geben, welchen datensatz er anzeigen soll! wenns nur einer ist, dann also 0
    -> $result_3=mysql_fetch_array($abfrage_ea,0);
    wenn es mehrere sind, dann über eine schleife, wobei man 0 durch die zählvariable ersetzt

    ciao

    --
    DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
    ->Alles ist gut wenn es aus Schokolade ist
  2. Jo, das hab ich ja in der nächsten abfrage gemacht. das hab ich hier
    schon gemacht while ($zeile_hardware=mysql_fetch_array($result_hardware)) {...... is die syntax denn sonst bugfrei? also ich mein damit, würde das sonst so richtg sein oder muss das in das
    mysql_fetch_arry($abfrage_es); noch $connect mit rein? oder irgend
    was anderes ???

    1. kommt drauf an was du da noch stehen hast!
      Weil es gibt 3 Typen von fetch_array! Die du unterschiedlich schrieben kannst!

      while ($zeile_hardware = mysql_fetch_array($result_hardware, MYSQL_NUM))
      {
       printf ("ID: %s  Name: %s", $row[0], $row[1]);
      }

      while ($zeile_hardware = mysql_fetch_array($result_hardware, MYSQL_ASSOC))
      {
       printf ("ID: %s  Name: %s", $row["id"], $row["name"]);
      }

      while ($zeile_hardware = mysql_fetch_array($result_hardware, MYSQL_BOTH))
      {
       printf ("ID: %s  Name: %s", $row[0], $row["name"]);
      }

  3. Is die syntax hier so richtig oder mach ich da was falsch weil bei mir kommt immer die fehlermedung:

    Nein

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in d:\server\raum\table.php on line 43

    ...
    include('db_connect.php');

    Da hast Du hoffentlich den connect drin

    ...

    $abfrage_hardware="SELECT * FROM hardware WHERE pc_nr='$pc_nr'";
    $abfrage_software="SELECT * FROM software WHERE pc_nr='$pc_nr'";
    $abfrage_ea="SELECT * FROM ea WHERE pc_nr='$pc_nr'";

    SQL-Anweisungen prinzipiell ok

    Aber auch ausführen ...
    Annahme: Nach Öffnen der Datenbank DB-Handle in Variable $db ...

    $result_1 = mysql_query($abfrage_hardware,$db);

    und jetzt auf das Ergebnis zugreifen:
    Und überprüf' ob was drin steht, denn wenn die Abfrage keinen Datensatz zurückliefert, dann kannst Du auch nicht auf Daten zugreifen

    if ($datensatz = mysql_fetch_array($result_1)) {
        # mach was mit dem Datensatz ...
      }

    Falls Du mehr als einen Datensatz erwarten kannst, dann lies sie in einer while-Schleife aus ...

    $result_1=mysql_fetch_array($abfrage_hardware);
    $result_2=mysql_fetch_array($abfrage_software);
    $result_3=mysql_fetch_array($abfrage_ea);

    Gruss,

    Vinzenz

  4. Moin, moin

    ...
    include('db_connect.php');

    ich vermute, hier wird die DB konnektiert

    ...

    $abfrage_hardware="SELECT * FROM hardware WHERE pc_nr='$pc_nr'";
    $abfrage_software="SELECT * FROM software WHERE pc_nr='$pc_nr'";
    $abfrage_ea="SELECT * FROM ea WHERE pc_nr='$pc_nr'";

    Bevor du das

    $result_1=mysql_fetch_array($abfrage_hardware);
    $result_2=mysql_fetch_array($abfrage_software);
    $result_3=mysql_fetch_array($abfrage_ea);

    machst, solltest du auch die Abfragen ausführen, mysql_fetch_array erwartet nämlich nicht den SQL-String, sondern den Ergebniszeiger einer DB-Abfrage. Also erst
    $abfr_1=mysql_query($abfrage_...);
    dann
    $result_1=mysql_fetch_array($abfr_1);

    1. Optional:

      $abfrage_ea=@mysql_query("SELECT * FROM ea WHERE pc_nr='$pc_nr'");
      $result_3=mysql_fetch_array($abfrage_ea, MYSQL_ASSOC);

  5. Seid gegruesst!

    Wenn er bitte zur Kenntniss nehmen wollte, dass im Deutschen Datenbankabfrage zusammengeschrieben (oder zusammen geschrieben - wenn er sich nicht entbloedet, die sogenannte (oder so genannte) Rechtschreibreform anzuwenden) wird, waeren unsere Lordschaft ihm ueberaus dankbar.

    Lord Helmchen