PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mysql_num_rows() und if?


jojojjjooo
11.11.2007, 00:53:53
Hallo,

Ich hab nun seit 1 1/2 Stunden rum probiert aber keine lösung gefunden:
Ich möchte eine Bewertungs funktion programmieren allerdings soll man nur jedes Bild einmal bewerten können. Deswegen speichere ich die ip mit in der DB.
Nun will ich mithilfe von mysql_num_rows() abfragen ob es schon ein Eintrag gibt wo die ip und bild id richtig sind.
$anzahlrates=mysql_num_rows(mysql_query("SELECT id FROM RA WHERE bild='$id2' & ip='$ip'"));
jetzt frage ich mithilfe von
if($anzahlrates==0)
ab ob es noch keinen eintrag gibt (wenn ich $anzahlrates über echo ausgebe kommt 0)
wenn er true antwortet geb ich die bewertungsfunktion aus sonst eine Fehlermeldung.

Aber es klappt nicht er gibt immer true zurück.

Wo liegt mein Fehler bin echt am verzweifeln!

Danke schon mal!

Edit: Gelöst! nach 2 1/2 Stunden: $anzahlrates=mysql_num_rows(mysql_query("SELECT * FROM RA WHERE ( bild='$id2' && ip='$ip' )"));

vt1816
11.11.2007, 08:04:12
Kurzer Hinweis: Die Speicherug der IP bringt Dir rein gar nichts. In vielen Threads hier wurde es immer wieder diskutiert. Du schließt damit diverse User (z. Bsp. T-Online) aus bzw. bevorteilst damit andere User (z. Bsp. AOL), die mit ständig wechselner IP unterwegs sind.

Und bezügliche Deiner Abfrage solltes Du für zukünftige Projekte u.a. nochmals hier (http://dev.mysql.com/doc/refman/5.1/de/where-optimizations.htmll) lesen, damit ersparst Du Dir sehr viel Zeit