syntax zur datenbank abfrage richtig?
backbone
- php
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);
...
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
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 ???
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"]);
}
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
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);
Optional:
$abfrage_ea=@mysql_query("SELECT * FROM ea WHERE pc_nr='$pc_nr'");
$result_3=mysql_fetch_array($abfrage_ea, MYSQL_ASSOC);
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