Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Fehler im PHP Script??





Frage

Hallo zusammen, ihr könnt mir sicher helfen. Ich suche schon wie verzweifelt einen fehler. Ich habe einen online-shop. ich möchte auf der site www.marcnet.ch/katalog.php ein listenfeld füllen mit daten aus einer datenbank. was ist hier falsch?? Listing von db_verbindung.php: <?php //Datenbank $benutzer = "marcnetc_admin"; $kennwort = ""; $host = "localhost"; $db = "marcnetc_floraparadies"; // Verbindung erstellen $verbindung = mysql_connect($host); if (! $verbindung) die("Verbindung gescheitert"); mysql_select_db($db); ?> Listing von katalog.php: <?php include("db_verbindung.php"); $liste = mysql_query("SELECT familie FROM produkte GROUP BY familie "); while ($treffer = mysql_fetch_row($liste)) { foreach ($treffer as $feld) if ($feld !="") echo "<option name=familie value=$feld> $feld</option>"; } ?>

Antwort 1 von Nessus

Wenn Du jetzt noch die Fehlermeldung postest, bekommst Du etwas eher geholfen...

Nessus

Antwort 2 von Marc Sameli

Leider kommt keine Fehlermeldung. Das Listenfeld bleibt einfach leer. Siehe www.marcnet.ch/katalog.php

Antwort 3 von thomasn1975

Mach mal aus

$liste = mysql_query("SELECT familie FROM produkte GROUP BY familie ");

zu

$liste = mysql_query("SELECT familie FROM produkte GROUP BY familie ") or die mysql_error();

und guck, ob's da einen Fehler gibt.

Schüssi!

Antwort 4 von Nessus

Hi

 include("db_verbindung.php");
$query    = "SELECT familie FROM produkte GROUP BY familie";
$result = @mysql_query($query);
$i = 0;
  while($row = mysql_fetch_array($result))
             {
             	$feld = $row['familie'];
 		echo "<option name=familie value=$feld>$feld</option>";
             	++$i;
             }

So sollte es besser gehen...


HTH

Nessus

Antwort 5 von Marc Sameli

Klappt leider auch nicht. Komisch, komisch. Kann es noch ein berechtigungsproblem sein?

Antwort 6 von Nessus

Hi,

ist auch nichts im Quellcode zu sehen?
Es kann sein, das bei groben Fehlern im HTML da gar nichts sieht.

Nessus

Antwort 7 von thomasn1975

Guck mal, was da im HTML-Quelltext der generierten Seite steht:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/marcnetc/public_html/katalog.php on line 124

Hast du denn schon das mit dem "or die..." versucht?

Schüssi!

Antwort 8 von Marc Sameli

Ich habe mal alles rausgenommen und nur noch folgenden Text drin gelassen:

<HTML>
<HEAD>
<TITLE>Flora Paradies - Ihr Online-Blumenhändler</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<?php
include("db_verbindung.php");
$liste = mysql_query("SELECT familie FROM produkte GROUP BY familie ");
while ($treffer = mysql_fetch_row($liste))
{
foreach ($treffer as $feld)
if ($feld !="")
echo "<option name=familie value=$feld> $feld</option>";
}
?>
</select>
</p>
</td>
<td>
<input type="submit" name="Abschicken" value="Finden">
</td>
</tr>
</table>
</form>
</td>
<td valign=middle class=starttext >
<form name=suche2 method=post action=katalog_auswahl.php>
<table width=100% border=0 cellspacing=2 cellpadding=2>
<tr>
<td class=text1>Stichwort</td>
<td> </td>
</tr>
<tr>
<td>
<input type=text name=stichwort maxlength=50 size=30>
</td>
<td>
<input type=submit name=Abschicken value=Finden>
</td>
</tr>
</table>
</form>
</td>
</tr>


</table>
</td>
</tr>
</table>
</BODY>
</HTML>

Es kommt folgender Fehler:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/marcnetc/public_html/katalog.php on line 8

Antwort 9 von thomasn1975

Mach doch mal bitte, was ich dir sage.

Da schlägt mysql_query() fehl. Jetzt muss man nur noch rausfínden, warum.

Schüssi!

Antwort 10 von Nessus

Hi,

und wenn Du das so machen würdest wie ich Dir das schon vorgeschlagen habe, die Spaltennamen auch korrekt sind, versteh ich das Problem nicht...

Nessus

Antwort 11 von MixMax

mache mal eine zeile for die whileschleife:


echo mysql_error()."<br>\r\n";


Antwort 12 von thomasn1975

MixMax: Das bringt nichts, da die while()-Schleife garnicht durchlaufen wird.

Schüssi!

Antwort 13 von Marc Sameli

Ich habe jetzt mal "or die" eingefügt. Es kommt folgende Meldung:

No Database Selected

Antwort 14 von thomasn1975

Tja, dann hast du wahrscheinlich den Datenbanknamen in db_verbindung.php falsch geschrieben.

Schüssi!

Antwort 15 von thomasn1975

Andererseits ist es auh möglich, dass die MySQL-Verbindung am Ende von db_verbindung.php wieder geschlossen wird und mysql_query() in katalog.php eine neue Verbindung aufbaut, in der dann natürlich noch keine Datenbank ausgewählt ist.

Schreib doch einfach

mysql_query("SELECT familie FROM marcnetc_floraparadies.produkte GROUP BY familie ");

Schüssi!

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: