Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql]Dziwne zapytanie, supplied argument(...), supplied argument is not a valid MySQL result resource
Sky_walker
post
Post #1





Grupa: Zarejestrowani
Postów: 214
Pomógł: 23
Dołączył: 26.09.2005

Ostrzeżenie: (0%)
-----


Witam
mam... bardzo (jak dla mnie) dziwny problem.

Tworze prosty mechanizm logowania,

  1. <?php
  2. $nick=sprawdz($_POST['nick']);
  3. $password=sprawdz($_POST['password']);
  4.  
  5. $_SESSION['login']= $nick;
  6. $_SESSION['pass']= $password;
  7.  
  8.  $sql = "SELECT * FROM `ssm_users` WHERE `nick` LIKE '$nick' ";//tu nie ma tego ukośnika przed cudzysłowiem, dziada forum wstawia automatycznie.
  9.  $query=mysql_query($sql);
  10.  $result=mysql_fetch_array($query); //linia 21
  11.  $pnazwa = $result['nick'];
  12.  $ppass = $result['pwd'];
  13. ?>


Kod ten wywala mi błąd:
Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/vhosts/(...)/login.php on line 21


Nie mam pojęcia skąd się bierze błąd, tymbardziej, że:
1. kiedy dam echo na $nick to wyświetla mi prawidłowy nick
2. kiedy skopiuje zapytanie do phpMyAdmin'a i je tam wykonam (zamiast $nick wstawiam swój nick) to wszystko działa prawidłowo.

Bardzo prosiłbym o pomoc, bo już zwątpiłem istnienie logiki w php...

Ten post edytował Sky_walker 12.02.2007, 17:48:45
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Cienki1980
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


Spróbuj tak:
  1. <?php
  2. $sql = "SELECT * FROM ssm_users WHERE nick LIKE '".$nick."'";
  3. ?>


Przy logowaniu polecałbym zamiast LIKE zwyczajne =
Go to the top of the page
+Quote Post
Sky_walker
post
Post #3





Grupa: Zarejestrowani
Postów: 214
Pomógł: 23
Dołączył: 26.09.2005

Ostrzeżenie: (0%)
-----


nie, bez zmian, zarówno w wersji z kropkami jak i z =.

Ten post edytował Sky_walker 12.02.2007, 17:51:44
Go to the top of the page
+Quote Post
piotrek_ma_probl...
post
Post #4





Grupa: Zarejestrowani
Postów: 47
Pomógł: 2
Dołączył: 6.02.2007
Skąd: Kotlina Kłodazka

Ostrzeżenie: (0%)
-----


Wydaje mi się że tak powinno zadziałać
ale mogę sie mylić jestem świeżak w tym temacie (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)

  1. <?php
  2. $nick=sprawdz($_POST['nick']);
  3. $password=sprawdz($_POST['password']);
  4.  
  5. $_SESSION['login']= $nick;
  6. $_SESSION['pass']= $password;
  7.  
  8. $query = "SELECT nick FROM ssm_users " .
  9.  "WHERE nick = '" . $_POST['nick'] . "';";
  10. $result = mysql_query($query) 
  11. or die(mysql_error());
  12.  
  13. if (mysql_num_rows($result) != 0) {
  14.  
  15. taki nick juz istnieje 
  16. } else {
  17. tu piszesz insert itd... wstawiasz dane
  18. }
  19. ?>


Ten post edytował piotrek_ma_problem 12.02.2007, 18:32:33
Go to the top of the page
+Quote Post
Sky_walker
post
Post #5





Grupa: Zarejestrowani
Postów: 214
Pomógł: 23
Dołączył: 26.09.2005

Ostrzeżenie: (0%)
-----


piotrek - to też nie działa.
To może inny pomysł:
Czy może to mieć coś wspólnego z serwerem?
Kiedy odpalam kod na lokalnym serwerze to wszystko jest dobrze, ale jak tylko wrzucam na serwer w sieci to przestaje działać.
Może coś z konfiguracją praw dostępu użytkownika?
Mam Plesk'a, mój użytkownik jest ustawiony jako "domyślny dla WebAdmina BD", hasło jest ok, i samo połączenie z bazą danych przebiega bez problemu, ale wywołanie zapytania już nie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Tak, to zdecydowanie musi być coś źle z konfiguracją użytkownika bazy danych - nawet zapytanie SELECT * FROM `ssm_users` wywołuje błąd (wywołane z pliku .php), choć tak właściwie to ono nic nie robi...

Bardzo prosiłbym o pomoc...

Ten post edytował Sky_walker 12.02.2007, 19:24:12
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 18:46