Fehlermeldung

Ich tipp jetzt mal du führst eine SQL-Abfrage mit LIMIT aus, möchtest bei Zeile 20 starten, die Tabelle hat aber nicht so viele Zeilen.
 
Also in dem script ist ein SQL Abfrage mit Limit 6 drinn, aber das ist eigentlich in nem anderen Abschnitt des Scriptes. Eigentlich dürfte es daran nicht liegen. Ich habe nachgeschaut und es sind genau 20 Zeilen in der Datenbank enthalten. Hier ein Auszug aus dem Script:

$anzahl=mysql_num_rows($result);

$zufall1= rand(0,$anzahl);
$zufall2= rand(0,$anzahl);

while ($zufall1==$zufall2)
{
$zufall1= rand(1,$anzahl);
};

mit den Zufallszahlen werden nacher per mysql_data_sekk zwei Zeilen aus der Datenbank ausgelesen. Wahrscheinlich tritt die Fehlermeldung immer auf wenn die Zufallszahl 20 ist. Dafür habe ich allerdings keine erklärung.
 
a) welche php version hast du ?

b) so erzeugt er auch ne null als zufallszahl das ist auch ein problem

c) wie sieht denn die sql abfrage aus?


wenn du version > 4 hast

$zufall=rand(1,20);
 
Zuletzt bearbeitet:
So viel ich weiß ist die Version über 4

Hier die SQL Abfrage

$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "SELECT * from Tabelle";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
 
äh da ist was faul im staate dänemark

mit
select * from tabellennamen

kannste den beschriebenen fehler nicht bekommen

und mysql_db_query sollte man nicht mehr benutzen

$dbverbindung = mysql_connect($host,$user,$password) or die("kein server");
$err = mysql_select_db($dbname,$dbverbindung) or die("keine db");

$result=mysql_query("select * from tabellenname",$dbverbindung) or die(mysql_error());
 
mysql_db_query fliegt mal raus aus php :-)

ich habe mir noch mal alle postings durchgelesen

wenn ich dich richtig verstenden habe möchtest du 2 einträge per zufall aus der db rausfischen und du benutzt seek

wenn ich mal frech sein darf .. keine besonders gute lösung...

mach doch sowas:

$erg = mysql_query("select * from tabname limit $zufall1,1",$dbverbindung);
$row = mysql_fetch_fields($erg);
echo $row[feldname];

und das gleiche mit zufall2
 
Mh ja jetz wo ich mir das überleg ist das auch ne gute Idee.
Allerdings weit nicht so brilliant als mit data_seek ;)
Nur nochmal zu dem Problem(weil ich mit so ner Lösung schlecht einschlafen kann ;) )
ich habe das script nochmal in ner vereinfachten form geschrieben und da ist mir aufgefallen das er die fehlermeldung nur bei der ersten zeile bringt. Wenn er also per zufall z.B die zweite Zeile ausgibt funzt aller perfekt....
Kannst du damit was anfangen?
 
Zurück