Autor Zpráva
johnl
Profil
Mám takový script:
      
        include("config.php");
        mysql_connect($server, $meno, $password);
        mysql_select_db($name);
      
        $result = mysql_query("SELECT id FROM uzivatele WHERE login = $login AND zobraz > 0"); 
        if(Mysql_num_rows($result)){
        echo "Ještě máš dostatečný kredit, tak se koukej!";
  
        mysql_query("UPDATE uzivatele SET zobraz = zobraz - 1 WHERE login = $login");

        }

Poradil mi ho SwimX v tomto topicu. mělo by to fungovat tak že každý uživatel má databázi uložené na řádku (ve sloupci zobraz) nějaké číslo, třeba 10, pokud má 10 tak by se mu mělo zobrazit to Ještě máš dostatečný kredit, tak se koukej!, a odečíst se od 10 jedna, ale místo toho když mám dostatečný kredit tak se nic nezobrazí a když mám kredit už na nule vypíše se jen chyba!

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /9p/wz.cz/j/johnblog/frim/admin.php on line 63

Na řádku 63 je
if(Mysql_num_rows($result)){


Nevíte kde je chyba?
fajzen
Profil
chyba bude na riadku 62 :)
daj si ju vypísať:
$result = mysql_query("SELECT id FROM uzivatele WHERE login = $login AND zobraz > 0") or die(mysql_error());
johnl
Profil
fajzen:
daj si ju vypísať:
Hotovo:

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 'AND zobraz > 0' at line 1
fajzen
Profil
jedna chyba je, že reťazce v query musia byť v apostrofoch, takže:
mysql_query("SELECT id FROM uzivatele WHERE login = '$login' AND zobraz > 0");
mysql_query("UPDATE uzivatele SET zobraz = zobraz - 1 WHERE login = '$login'");

ale neviem, či chyba ktorú to hlási, sa viaže k tomuto... akého typu je stĺpec zobraz v tabuľke?
ondra121
Profil *
co takhle
 $result = mysql_query("SELECT id FROM uzivatele WHERE login = '" . $login . "' AND zobraz > 0"); 

a
 mysql_query("UPDATE `uzivatele` SET `zobraz`= zobraz - 1 WHERE login = '" . $login . "'");
johnl
Profil
Pořát to nejde
$result = mysql_query("SELECT id FROM uzivatele WHERE login = '" . $login . "' AND zobraz > 0"); if(Mysql_num_rows($result)){
  echo "hmm";
  
}


Chyba:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /9p/wz.cz/j/johnblog/frim/admin.php on line 62

A na řádku 62 je
$result = mysql_query("SELECT id FROM uzivatele WHERE login = '" . $login . "' AND zobraz > 0"); if(Mysql_num_rows($result)){
ondra121
Profil *
no ten warning znamená, že ta query nic nevrátí, záleží taky v jakém tvaru máš login, jestli je to řetězec tak tam budou apostrofy, v případě že je to číslo zkus jenom
...login = " . $login . " AND...
johnl
Profil
ondra121:
No právě že login je přihlašovací jméno jako třeba admin apod.
panther
Profil
johnl
Pořát to nejde
co hlásí teď mysql_error?
johnl
Profil
Myslíš u toho kódu [#6] ?
Je to tam napsaný

//mysql error
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 'AND zobraz > 0' at line 1
johnl
Profil
Nahradil jsem login za id a už to jde :)
Děkuji všem za pomoc..

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: