Rouven: Zufallszugriff auf MySQL-DB klappt net

Beitrag lesen

Na ja, doch, irgendwie schon

Auszug aus seinem Code:
$id = rand (1,$max);
$query = "SELECT motto, quelle FROM motto_tabelle WHERE id = $id";

Die Tabelle hat also 4 Sätze. Select COUNT(*) liefert also als Wert für $max 4, $id wird demnach 1..4 - diese Sätze existieren aber nicht.

@zwerg: Nein nein, das ist kein Fehler, IDs sollen lediglich eindeutig sein, von durchgängig und niedrig hat keiner was gesagt, auch wenn viele das immer wieder glauben.
Der grundsätzliche Ansatz der Ermittlung ist unglücklich. Einfacher wäre der Datenbank zu sagen, sie möde nach einem Zufallswert sortieren. Anschließend nimmt man einfach das Ergebnis, das sie als erstes liefert, also schematisch etwa:
SELECT motto, quelle FROM motto_tabelle ORDER BY RAND() LIMIT 1
-> anschließend einfach mit PHP auslesen wie bisher auch angedacht. Das vorherige mit SELECT COUNT(*) etc. kann man sich sparen.

MfG
Rouven

--
-------------------
Death is nature's way of telling you to slow down.