Autor | Zpráva | ||
---|---|---|---|
wizardiik Profil |
#1 · Zasláno: 5. 11. 2011, 21:54:49
Co znamená ta chybová hláška? Kód je asi takovejhle....
<?php include "config.php"; if (isset($_POST['username']) && isset($_POST['password'])) { $sql = mysql_query("SELECT id FROM users WHERE login = '$_POST[username]';"); if(mysql_num_rows($sql) == 0) $error = "chyba: uživatel existuje"; else { mysql_query(" INSERT INTO users (`login`, `password`, 'email') VALUES ('$_POST[username]', '".sha1($_POST['password'])."', '$_POST[mail]') ;"); echo "registrace úspěšná"; } } else { ?> <form id="frm" name="frm" method="POST" action="register.php"> <span>Login</span><input type="text" name="username"> <span>Heslo</span><input type="password" name="password"> <span>email</span><input type="text" name="mail"> <input type="submit" value="odeslat"> </form> <?php } ?> Jakou tam mám chybu? |
||
Alphard Profil |
#2 · Zasláno: 5. 11. 2011, 21:56:55
Hláška znamená, jak byste našel i v FAQ, že se nezdařil předchozí dotaz do databáze.
|
||
okolojdouci Profil * |
#3 · Zasláno: 5. 11. 2011, 21:59:06
zmatek v uvozovkách na ř. 11-14
|
||
wizardiik Profil |
#4 · Zasláno: 5. 11. 2011, 22:06:48
celková hláška ja takováhle prý na řádku 5..
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\ComplexWebServer\http_docs\web\register.php on line 5 |
||
Alphard Profil |
#5 · Zasláno: 5. 11. 2011, 22:12:28
wizardiik:
Napsal jsem vám příčinu, i kde hledat další informace. |
||
hexageek Profil |
no chybu mate ve zpracovani vystupu z funkce mysql_num_rows() , pokud totiz dany select nevrati zadne hodnoty tak mysql_num_rows rozhodne nevraci 0 . Pokud je chyba nebo nejsou zadne zaznamy vraci false . je lepsi proto pouzivat nasledujici konstrukce
if (!mysql_num_rows($result)) { echo "tu nic neni\n"; } else { while ($row = mysql_fetch_assoc($result)) { //tu JSOU DATA } } hodne programatoru to odflakne if (@mysql_num_rows($result)>0) {} ... Moderátor Alphard: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
Tori Profil |
#7 · Zasláno: 5. 11. 2011, 22:48:52 · Upravil/a: Tori
<mimo-téma>
hexageek: „pokud totiz dany select nevrati zadne hodnoty tak mysql_num_rows rozhodne nevraci 0“ Ale vrací, zkuste si to. False vrací jen v případě chybného dotazu, kdy návratová hodnota mysql_query je rovněž false. </mimo-téma> |
||
Časová prodleva: 12 let
|
0