Autor Zpráva
Lukas Art
Profil *
Potřebuju zjistit počet řádků v mysql databázi, s určitou hodnotou požívám tohle:
$pocet = mysql_result(mysql_query("SELECT COUNT(*) FROM online  /* WHERE ip=$IPadresa */"), 0);

Jenomže mit o zpočítá všechny řádky ne jen ty kde je ta určitá adresa.
tiso
Profil
Lukas Art:
$pocet = mysql_result(mysql_query("SELECT COUNT(*) FROM online  WHERE ip=$IPadresa"), 0);
Lukas Art
Profil *
No to sem právě zkoušel ale
vyhodí mi to tohle:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/httpd/helpet.info/www/ip.php on line 6
GeneralDv
Profil
Vypiš mysql_error() a nebude žádný zkoumání.
Keeehi
Profil
IP adresu na 99% neukládáš jako číslo, ale jako text. Takže ouvozovkovat.

$pocet = mysql_result(mysql_query("SELECT COUNT(*) FROM online  WHERE ip='$IPadresa'"), 0);
A počet získáš pomocí mysql_num_rows().
panther
Profil
Lukas Art:
$pocet = mysql_result(mysql_query("SELECT COUNT(*) FROM online  WHERE ip='" . $IPadresa . "'"), 0);

chybějící apostrofy kolem textového řetěžce
Lukas Art
Profil *
Takhle vypadá chybová hláška
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/httpd/helpet.info/www/ip.php on line 6
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.123.169' at line 1

A takhle kod:
<?php
include "db.php";
$IPadresa=$_SERVER['REMOTE_ADDR']; // sem "naskládame" vše, co lze o čtenáři zjistit odděleno zavináčem (adresy uživatelů za proxy ap.)

$a=StrFTime("%H:%M:%S", Time()+5*60);
$pocet = mysql_result(mysql_query("SELECT COUNT(*) FROM online  WHERE ip=".$IPadresa.""), 0) or die (mysql_error());

echo "$pocet<br>";
if ($pocet == 0) {
$VlozData=mysql_query(" INSERT INTO online (`ip`,`cas`)
                      VALUES
											('".$IPadresa."', '".$a."')  ") or die (mysql_error());
											}
else { mysql_query ($sql = "UPDATE `online` SET `cas` = '".$a."' WHERE `ip` = $IPadresa LIMIT 1");}
$aktual=StrFTime("%H:%M:%S", Time());
$j = mysql_query("DELETE FROM online where cas < $aktual");
$pocet1 = mysql_num_rows(mysql_query("SELECT * FROM online"));
echo $pocet1;


?>
Keeehi
Profil
Lukas Art:
Řešení už máš v [#5][#6].
Stejnou chybu máš i dále.
tiso
Profil
Keeehi: pravda, na apostrofy som zabudol...
Lukas Art
Profil *
Sorry zapoměl jsem refreshovat než sem poslal tenhle post takže děkuji

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: