Hallo,
So habe ich das jetzt getestet, nur leider passiert gar nichts mehr, sobald der Wert nicht in der Datenbank aufgeführt ist.
//Von Vorseite über Formular übergeben: $wert = 11111, Beispiel
Bist Du sicher, dass der Wert drin steht?
Wie uebernimmst Du ihn?
$ergebnis = mysql_query("SELECT
ID
FROM$tbl
WHEREID
= '$wert'");
Mach die Query lieber zuerst in eine Variable, dann kannst
Du sie auch anzeigen lassen:
$query="SELECT ID
FROM $tbl
WHERE ID
= '$wert'";
AFAIK sind die Backticks (`) um die Variablennamen nicht
notwendig, evtl. sogar falsch. Versuch's mal ohne:
$query="SELECT ID FROM $tbl WHERE ID = '$wert'";
echo "Query:<br>$query<br>\n";
$ergebnis = mysql_query($query);
while ($test=mysql_fetch_array($ergebnis)) {
//Version 1
$numrows = mysql_num_rows($test);
if (! $numrows) {echo "<p>Kein Ergebnis</p>";}
Du solltest IMHO eher pruefen, ob es 0 oder ob es mehr Zeilen sind.
if ($numrows<1)
{/* kein Ergebnis*/}
else
{/*mind. 1 Ergebnis*/}
(Null und false sind nicht immer gleichbedeutend!)
else {echo "<p>Ergebnis</P";}
^^ Da fehlt ">". Besser klein: </p>
//Version 2
if ($test[ID] !== $wert) {
Wo hast Du die Konstante ID definiert?
Und wo/wie den Array $test?
Und warum pruefst Du mit !== und nicht einfach mit != ?
Wenn der String "ID" gemeint ist, solltest
Du es unbedingt so schreiben: $test['ID'].
Lies: "Warum ist $foo[bar] falsch?"
http://www.php.net/manual/de/language.types.array.php#language.types.array.foo-bar
Wichtige Ausnahme: Innerhalb von doppelten Anfuehrungszeichen:
http://www.php.net/manual/en/language.types.string.php#AEN3553
http://www.php.net/manual/en/language.types.array.php#AEN3791
Gruesse,
Thomas