Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Dziwne zapytanie, supplied argument(...)
Forum PHP.pl > Forum > Przedszkole
Sky_walker
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...
Cienki1980
Spróbuj tak:
  1. <?php
  2. $sql = "SELECT * FROM ssm_users WHERE nick LIKE '".$nick."'";
  3. ?>


Przy logowaniu polecałbym zamiast LIKE zwyczajne =
Sky_walker
nie, bez zmian, zarówno w wersji z kropkami jak i z =.
piotrek_ma_problem
Wydaje mi się że tak powinno zadziałać
ale mogę sie mylić jestem świeżak w tym temacie 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. ?>
Sky_walker
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 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...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.