Autor Zpráva
JanS
Profil
$Select=mysql_query("SELECT * FROM users WHERE name=".$_POST["user"]);
$Data = MySQL_Fetch_Array($Select);
echo $Data["pass"];

Bere mi to jen první řádek. Při zadání jména, které není na prvním řádku to nenajde ani jméno, a potom logicky ani heslo. Nenapadá mě, co není správně.

Chyba asi bude v prvním řádku, protože při zadání jména na jiném řádku:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

To vůbec nic nevybere. Díky za rady.
Venca V
Profil
Oprav si první řádek na
$Select=mysql_query("SELECT * FROM users WHERE name='".$_POST["user"]."'");

nebo ještě jednodušeji na
$Select=mysql_query("SELECT * FROM users WHERE name='$_POST[user]'");
peta
Profil
JanS
// --- function ---
// sql query
function sq($query,$text='') {$res = mysql_query($query) or die("<hr>MySQL Err".$text.": $query<hr>".mysql_error()); return $res;} //debug mode

sq($dotaz);

To ti vypise SQL dotaz, ktery se nezdaril a zastavi program. Jinak viz Venca. To jednodussi si nejsem jist, zda bude fungovat
nightfish
Profil
JanS
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
viz databázové FAQ, ve kterém je tato chybová hláška podrobně rozebrána (o to větší škoda, že jej nikdo nečte)

SELECT * FROM users WHERE name=".$_POST["user"]
opravdu potrebuješ vrátit všechny sloupce tabulky? pokud ne, tak nebuď líný, nepoužívej * a ty sloupce tam vyjmenuj

a pokud chceš jen ověřit, jestli je správné jméno a heslo, tak bude zřejmě lepší
$select = mysql_query("select count(*) as pocet from tabulka where name = '".$_POST['user']."' and passwd = '".$_POST['password']."'");

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:

0