![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 742 Pomógł: 0 Dołączył: 14.12.2003 Skąd: Gdańsk, Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
Wiem co znaczy ten błąd, ale nie wiem co jest źle w moim skrypcie. Obsługę mysqla zrobilem prawie w całości z przykładów w manualu. Zadanie skryptu: logowanie, gdzie login/pass są zapisane w bazie. Wywala mi taki błąd:
Kod Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:usrapachehttpdhtmladminlogin.php on line 13
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:usrapachehttpdhtmladminlogin.php on line 27 A oto kod programu (zacowałem oryginalne numery linijek): [php:1:a4ca6e4ea9]<?php ob_start(); session_start(); require("const.inc"); if ($_GET['action'] == 'login') { mysql_connect(DBHOST, DBUSER, DBPASS) or die('Nie można się połączyć: ' . mysql_error()); mysql_select_db(DBNAME); $query = "SELECT login, pass FROM admin_users WHERE login=" . $_POST['login'] . " AND pass=" . $_POST['passwd']; $result = mysql_query($query); if(mysql_num_rows($result)>0) { //TU AKCJE JEZELI LOGIN I HASLO SA POPRAWNE $session_time = 15; // czas trwania sesji w minutach $_SESSION['user'] = $_POST['login']; $_SESSION['expire'] = time() + 60 * $session_time; if (isset($_POST['redirect'])) { header ("Location: http://" . $_SERVER['HTTP_HOST'] . $_POST['redirect']); die; } echo 'Zalogowałeś się.<br><a href="login.php?action=logout">Wyloguj się</a>'; break; } elseif (mysql_num_rows($result)==0) { echo "zle dane"; //header('Location: http://' . $_SERVER['HTTP_HOST'] . "/admin/401.php"); } } //dalsza czesc programu ?>[/php:1:a4ca6e4ea9] Więc wie ktoś może na czym polega mój błąd?? Dodam tylko, że przykładowe zapytanie wygląda tak (skopiwane dla pewności): [sql:1:a4ca6e4ea9]SELECT login, pass FROM admin_users WHERE login=olo AND pass=0000[/sql:1:a4ca6e4ea9] |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 152 Pomógł: 0 Dołączył: 15.05.2002 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
zapodaj
[php:1:32413597fa]<?php $query = "SELECT login, pass FROM admin_users WHERE login=" . $_POST['login'] . " AND pass=" . $_POST['passwd']; $result = mysql_query($query) or die(mysql_error()); ?>[/php:1:32413597fa] i wszystko bedzie jasne ![]() -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat [sql:1:6b8f7633d4]SELECT login, pass FROM admin_users WHERE login=olo AND pass=0000[/sql:1:6b8f7633d4]
Khem.. złe nawyki z php są przenoszone potem do mysqla [sql:1:6b8f7633d4]SELECT login, pass FROM admin_users WHERE login='olo' AND pass='0000'[/sql:1:6b8f7633d4] -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 742 Pomógł: 0 Dołączył: 14.12.2003 Skąd: Gdańsk, Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
heh, dzięki! bardzo mi pomogliście. Tylko małe sprostowanko @spenalzo: W tego typu przypadkach ZAWSZE używam formy w ' ' (chodzi mi np. o wartości tagów html w funkcji echo: niektorzy piszą echo "<a href=www.php.pl"; zamiast ...href='www.php.pl'... ), ale z mysqlem w formie pisania skryptu zetknąłem się pierwszy raz i nie znałem tego typu kruczków. Ale sie poprawie
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 16:28 |