php a mysql

Při registraci mi napiše chybu Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/free/ic.cz/t/teraristika/root/www/registruj.php on line 62 nevíte cim to je ?
to bude chybou ve skriptu... kterou nikdo neodhalí, pokud ten skript (alespoň prozatím řádky 60-64) neukážeš ;-)
řádky 56-69
} else {
$h = FALSE;
echo '<p><font color="red" size="+1">Zadejte prosím platné heslo!</font></p>';
}
if ($jm && $prijm && $e && $u && $h) {
$dotaz = "SELECT id_uzivatele FROM uzivatele WHERE uziv_jmeno='$u'";
$vysledek = @mysql_query ($dotaz);
if (mysql_num_rows($vysledek) == 0) {
$dotaz = "INSERT INTO uzivatele(uziv_jmeno, jmeno, prijmeni, email, heslo, datum_registrace) VALUES ('$u', '$jm', '$prijm', '$e', PASSWORD('$h'), NOW())";
$výsledek = @mysql_query ($dotaz);
if ($výsledek) {
echo '<h3>Dekujeme za registraci!</h3>';
exit();
} else {
fuj...

}else{
$h = FALSE;
echo '<p><font color="red" size="+1">Zadejte prosím platné heslo!</font></p>';
}
if ($jm && $prijm && $e && $u && $h) {
$vysledek = mysql_query ("SELECT id_uzivatele FROM uzivatele WHERE uziv_jmeno=" . $u);
if (mysql_num_rows($vysledek) == 0) {
$query = mysql_query ("INSERT INTO uzivatele(uziv_jmeno, jmeno, prijmeni, email, heslo, datum_registrace) VALUES ('$u', '$jm', '$prijm', '$e', PASSWORD('$h'), NOW())");
if ($query) {
echo '<h3>Dekujeme za registraci!</h3>';
exit();
} else {

1) proměnné s diakritikou?
2) když už chceš mít u where uvozovky, tak do nich hoď i sloupec (`` - alt 96),lépe proměnnou uveď jako proměnnou a ne jako string
čili ... WHERE `uziv_jmeno` = '" . $u . "'");
3) dotazy dávej rovnou do query, šetříš nastavování proměnných
4) @mysql_query - to je vážně chytrý nenechat si vypsat chyby v registračnímm skriptu
5) není tam t
am ten exit() zbytečnej? při splnění podmínky se zpracování IF zastaví ne? (to už je detail)
6) if ($jm) .... lepší: if (isset($jm)), mnohem lepší: if(isset($_REQUEST['jm']))
(REQUEST = POST+GET)
Jirka:
1) nazvy promennych muzou obsahovat diakritiku.
http://mirrors.inway.cz/manual/cs/language.variables.php
2) coze? A proc jako? Dotaz SELECT id_uzivatele FROM uzivatele WHERE uziv_jmeno='$u' je uplne spravne, naopak ty to mas blbe.
3) to je tvuj zvyk, ja zase radsi ty promenne.
4) a proc ne? pokud to ma ze strany php syntakticky spravne, stejne mu to nic nevypise. Chybu mysql muze vypsat az mysql_error().
5) ad exit() - ty snad vis, jak ten skript pokracuje?
6) ja osobne $_REQUEST nerad, radsi presne urcim, co je GET, co POST atd. (post, get, session, cookie).
1) hmm, ale moc pěkný to teda neni
2) blbě to nemám, na mysql to tak funguje korektně, jen to není pro psql
3) blbej zvyk
4) to měl být vtip? hází mu to chybovky a ty řekneš, ať tam nemá @
5) někde jsem zapomněl větu "pokud to není potřeba dál"
6) jasně, ale nevidim form, tak píšu obecně
3) hm, a jak pak udelas, kdyz potrebujes dotaz sestavit dynamicky? no ja ho ted laduju do promenne... a kdyz uz tady, tak vzdycky, at je to jednotny a prehledny
4) ale mysql_query mu chybu nevypisuje...
3) dynamický dotaz je samozřejmě něco jiného, nevím jak ty, ale já mezi tím umím rozlišit :-)

4) jinak, kdyby měl ty dotazy dobře, tak ty @ nepotřebuje ;-)
Jirka: 3 - jiste, ze umim rozlisit. ale proc to psat jednou tak a jednou tak? jde o prehlednost. ... no, nakonec je to asi kazdyho vec, jak to dela, co mu vic sedne...
Jirka:
ad 3) to byla reakce na co, prosimte? nevsiml jsem si, ze bychom se bavili o nejakem rozlisovani.
ad 4) dotazy mozna dobre nema, ale stejne je uplne jedno, jestli tam ten @ ma nebo ne. Mne vzivote mysql_query nevypsal jedinou chybu, leda, ze bych uplne zvoral parametry... a pochybuju, ze tobe jo. Zda se mi, ze nerozlisujes mezi chybama, ktery hazi php, a ktery hazi mysql. A taky od jakych prikazu jsou.
2donny:
3) na Tonika
4) jj, smotal jsem to dohromady... ale myslím, že se shodnem na tom, že jsou ty @ zbytečný, protože defacto nic nedělaj
Jirka:
ad 4) no... neshodnem. Nektere fce nekdy vraci warningy a errory, ktere ale pro me nemaji zadny vliv na dalsi beh skriptu, kdyz chybovy stav ohlidam sam. Konkretnim prikladem je napr.

<?php
(
 @mysql_connect("mysql.server.cz","username","heslo") AND
 @mysql_select_db("databaze_na_serveru")
)
? true
: (
    (
      @mysql_connect("localhost","root","heslo") AND
      @mysql_select_db("local_databaze") XOR 1
    )
    ? die("Stranky jsou momentalne nedostupne, protoze kvuli vypadku na hostujicim
          serveru doslo k potizim pri pripojovani databaze. Zkuste to pozdeji.")
    : true
  );
?>

- pokud se bude pripojovat na localu, pouzije se druha moznost, pokud na serveru vypadne databaze, na druhou moznost se taky nepripoji, zobrazi moji chybovou hlasku a ukonci beh skriptu. Ovsem diky tem zavinacum nevypisuje ty svoje blby chybovky.
myslel jsem ten konkrétní případ, samozřejmě, že sem tam @ taky použiju...
ehm... že byste se vrátili k problému ;-) ?
zdá se že $vysledek není v daném případě validní zdroj pro mysql_num_rows. Přiznám se že nevím přesně co je v takovém případě nevalidní zdroj - ale tipuju že to není případ, kdy se nevybral žádný záznam, nebo jo? každopádně doporučuju doplnit za mysql_query ještě echo mysql_error() a zjistit, jestli je nějaký problém už tam nebo ne.
už to řešíme jinde, on má ve spojení teraristika2 a web je teraristika
jenomže kua teraristika2 je proto že už je jedou teraristika a to na webu teraristika.mysteria.cz a to bly pred mím webe euweb.cz takže logicky nemůžou být 2 weby se stejným názvem datábaze a uživ. jménem
Hej, klídek...

Přišlo mi krajně nepravděpodobné, že z teraristika.euweb.cz voláš teraristika2.euweb.cz

budem se hádat tam, kde jsou komlpet zdrojáky... tady ne
dis: invalidni zdroj je takovy, ktery vytvoril invalidni dotaz, tedy bud dotaz syntakticky nespravny, nebo dotaz, ve kterem byly jmenovany neexistujici sloupce (tabulky), pripadne dotaz na nepripojeny server nebo nevybranou databazi. Takze chyba bude bud v pripojeni na databazi, nebo v dotazu samotnem. Otazka je, jestli jerrry ma vubec ohlidane chyby u pripojeni databaze.