prosím Vás, zkouknete kde mam chybu? nemůžu na to přijít:
// všechny proměnné jsou předem správně nastaveny
$sql = "SELECT name FROM mistnost WHERE $unix_time - kdozal > 900";
$result = mysql_query($sql, $link);
while ($row = mysql_fetch_row($result)):
....
endwhile;
// konec
píše to chybové hlášení hlášení:
Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\menu.php on line 4
no, já bych zkusil dát to odečtení do závorek ale spíše ještě bych ho upravil takto: WHERE kdozal > ($unix_time-900)
zkusil jsem to, a přišel sem na to, že to varovné hlášení se zobrazuje pouze když je podmínka splněna ... nedokážu si to vysvětlit
Zkus za mysql_query() pouzit echo mysql_error(); Hodne to napovi.
no logicky ne ... pokud podminka splnena neni tak ti dotaz vyhodi NIC a to NIC pak nacitas do pole...
$sql = "SELECT name FROM mistnost WHERE $unix_time - kdozal > 900";
$result = mysql_query($sql, $link);
if (mysql_num_rows($result)<>0)
{
while ($row = mysql_fetch_row($result)):
....
endwhile;
}
else echo "zadny zaznam nenalezen";
pořád to hází tu hlášku, dokonce i na mysql_error(tu samou jako predtim) .. vyhodim Vám to celý:
$link = mysql_connect($server, $name, $password);
$db = mysql_select_db($db, $link);
// konec nastavení spojení s databází
// vyhození uživatelů kterým vypšel timeout
$sql = "SELECT name FROM room$room WHERE kdozal < ($unix_time-515)";
$result = mysql_query($sql, $link);
if (mysql_num_rows($result)<>0):
while ($row = mysql_fetch_row($result)):
$sql = "INSERT INTO `$room` (`id`, `cas`, `uzivatel`, `komu`, `text`) VALUES ('', '$unix_time', '', '', '<font size=1>Uživatel $row[0] byl odstraněn z místnosti</font><br>');";
$result = mysql_query($sql, $link);
endwhile;
else:
endif;
všechny proměnné a názvy proměnných i tabulek jsou i po několika ověřeních správné ...
ten první dotaz nějak nechápu (ten druhý SQL taky moc ne) - v jednom máš room$room, v druhém jen $room. Nebude chyba v tom?
nene to je dobře, mám jednu tabulku s přihlášenými a jednu s roomtextem
Zkus si pred tim mysql_query() vypsat to $sql, zkopiruj ho a pust v mysqladminovi. jestli bude ok, tak patrej dal.
zkusil bych:
$link = mysql_connect($server, $name, $password);
$db = mysql_select_db($db, $link);
// konec nastavení spojení s databází
// vyhození uživatelů kterým vypšel timeout
$sql = "SELECT name FROM room$room WHERE kdozal < ".($unix_time-515);
$result = mysql_query($sql, $link) OR die(mysql_error());
if (mysql_num_rows($result)<>0):
while ($row = mysql_fetch_row($result)):
$sql = "INSERT INTO `$room` (`id`, `cas`, `uzivatel`, `komu`, `text`) VALUES ('', '$unix_time', '', '', '<font size=1>Uživatel $row[0] byl odstraněn z místnosti</font><br>');";
$result = mysql_query($sql, $link);
endwhile;
else:
endif;
<HTML>>> dokonce i na mysql_error(tu samou jako predtim)
LOL?
$sql = "SELECT name FROM mistnost WHERE $unix_time - kdozal > 900";
$result = mysql_query($sql, $link);
echo mysql_error();
zbytek zakomentuj a pust jen tohle...
napis co to vypsalo jinak tu neni co resit</HTML>