Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mysql_fetch_array
Forum PHP.pl > Forum > Przedszkole
rozny
Witam co w tym zapytaniu jest bledne?

  1. <?php
  2. $query = 'SELECT * FROM `admini` WHERE login =' .$_POST['login']. 'LIMIT 0, 30';
  3. $fetch = mysql_fetch_array('$query');
  4. ?>


wysypuje mi sie, mysql_fetch_array(): supplied argument is not a valid MySQL result resource in...

Wiadomo, nieprawidlowa skladnia funkcji...

HELP smile.gif
qlash
1) string czyli $_POST['login'] powinny byc w cudzyslowiu
2) nie ma spacji pomiedzy wprowadzonym przez POST loginem a LIMIT w zapytaniu
skowron-line
  1. <?php
  2. $query = 'SELECT * FROM `admini` WHERE login ="' .$_POST['login']. '" LIMIT 0, 30';
  3. ?>
Cysiaczek
  1. <?php
  2. $fetch = mysql_fetch_array('$query');
  3. ?>

Zauważ, że używasz apostrofów, prze które zmienna nie jest parsowana.
Bez opastrofów
  1. <?php
  2. $fetch = mysql_fetch_array($query);
  3. ?>


Cieszymy się? : )

P.S
Spacja przed limit : 0
rozny
sorry ale dalej sie nie cieszymy :/

dalej to samo sad.gif
Cysiaczek
To po skonstruowaniu zapytania, ale przed jego wywołaniem wpisz:
  1. <?php
  2. print $query;
  3. ?>

i zobacz, czy zapytanie wyglada prawidłowo (np. czy jest wstawiona $_POST['login'])
rozny
jest wstawiona... wyswietla to co wklepie w formularzu...

:/
Cysiaczek
Wpisz to tak:
  1. <?php
  2. $query = "SELECT * FROM admini WHERE login=".$_POST['login']." LIMIT 0,30";
  3. ?>
rozny
  1. <?php
  2. if (!isset($_SESSION['logged_in'])) {
  3. echo '<p class=top>Admin Panel</p><form action=' .$PHP_SELF. ' method=post class=login>
  4. <input type=text name=login> LOGIN<br />
  5. <input type=password name=passwd> HASŁO<br />
  6. <input type=submit value=zaloguj>
  7. </form>';
  8. }
  9.  
  10. if (isset($_POST['login'])&&isset($_POST['passwd'])) {
  11.  
  12. $connect = mysql_connect('localhost', '***', '***')
  13.  
  14. or die('Brak polaczenia z serwerem mySQL.<br />Błąd: '.mysql_error());
  15.  
  16. echo ('Polaczenie z serwerem jest aktywne.<br/>');
  17.  
  18. $db = mysql_select_db('users', $connect)
  19.  
  20. or die('Brak polaczenia z baza danych<br />Blad: '.mysql_error());
  21.  
  22. echo ('Polaczenie z baza danych jest aktywe.<br />');
  23.  
  24.  
  25. $query = "SELECT * FROM admini WHERE login=".$_POST['login']." LIMIT 0,30";
  26.  
  27. print $query;
  28.  
  29. $fetch = mysql_fetch_array($query);
  30. if ($fetch) {
  31. if ($_POST['passwd'] == $wykonaj['password']) {
  32.  
  33. echo 'zalogowany';
  34.  
  35. }
  36. else {
  37.  
  38. echo 'bledne haslo';
  39.  
  40. }
  41. }
  42.  
  43. else {
  44.  
  45. echo 'bledny login';
  46.  
  47. }
  48.  
  49.  
  50.  
  51. }
  52. ?>


Obczajcie to... Dalej sie sypie na tym fetch array... nie wiem o co chodzi w inym skrypcie troszke inne zapytanie do innej bazy dziala... tutaj sie sypie sad.gif
Bogdan
Cytat(rozny @ 8.12.2006, 15:24:29 ) *
Witam co w tym zapytaniu jest bledne?

  1. <?php
  2. $query = 'SELECT * FROM `admini` WHERE login =' .$_POST['login']. 'LIMIT 0, 30';
  3. $fetch = mysql_fetch_array('$query');
  4. ?>


wysypuje mi sie, mysql_fetch_array(): supplied argument is not a valid MySQL result resource in...

Wiadomo, nieprawidlowa skladnia funkcji...

HELP smile.gif



zmień

  1. <?php
  2. $query = mysql_query('SELECT * FROM admini WHERE login ='$login' LIMIT 0, 30');
  3.  
  4. while($row=mysql_fetch_array($query))
  5. {
  6.  echo $row['login'] .' '. $row['itd'] .' '. $row['itp']; // i co tam chcesz wyświetlać
  7.  }
  8. ?>



sprawdź czy zadziała
Cysiaczek
Ehhh :roll2: a może tak wyślesz to zapytanie przez mysql_query() ? Myślę, że to może pomóc winksmiley.jpg
Pozdrawiam.
rozny
juz wrzucalem przez mysql_query.. nie pomagalo... teraz tez nie pomoglo... ja juz nie wiem sad.gif

/ps bogdan twoje rozwiazanie wogole nie wchodzi w gre (parse error) poza tym nie chce rezygnowac z zamiany $_POST['login'] na $login, z wiadomego chyba powodu smile.gif, poza tym nie chce wyswitlac zadnych danych tylko zalogowac uzytkownika... petla mi do tego nie potrzebna...
Cysiaczek
No bez jaj - co to znaczy próbowałem? Tu nie ma co próbować, tylko wywołać.
  1. <?php
  2. $sql = "SELECT * FROM admini WHERE login=".$_POST['login']." LIMIT 0,30";
  3.  
  4. print $sql;
  5.  
  6. $query=mysql_query($sql); // MUSI BYĆ
  7.  
  8. $fetch = mysql_fetch_array($query);
  9. ?>


Pozdrawiam.
rozny
po 1 nigdzie nie napisalem ze probowalem tylko ze tak zrobilem i nic nie pomoglo... po 2 dalej jest dokladnie to samo... tutaj jest jakis problem z zapytaniem do bazy danych jak mniemam, bo nie widze innego powodu sad.gif
Cysiaczek
Owszem - może nie nie być żadnego wyniku, czyli pewnie nie istnieje taki login, który chcesz wyciągnąć z bazy, ewentualnie jest zły typ pola, ewentualnie nazwa pola jest niewłaściwa, ewentualnie w ogóle nie istnieje taka tabela w bazie.
rozny
Baza istnieje -> lacze sie z baza -> wuswietlam ze polaczenie jest udane albo nie -> tabela istnieje -> user i pass istnieja...

Tutaj do sprawdzenia usera nawet nie dochodzi bo fetch array sie sypie, a to jest kluczowe zapytanie w tym momencie... i nie wiem juz co jest nie tak, sprawdzilem wszystkie rozwiazania jakie podaliscie i za kazdym razem efekt byl ten sam...
Cysiaczek
  1. <?php
  2. $query=mysql_query($sql) or die ("Bład: ".mysql_error());
  3. ?>


i powiedz, co jest napisane
rozny
ze tez ja wczesniej nie wpadlem na to ze raportowanie bledow w php dziala calkiem sprawnie:

Bład: Unknown column 'cinek' in 'where clause'

tylko nie rozumiem dlaczego on zmienna POST traktuje jako kolumne tabeli, a nie jako wpis w kolumnie...
Cysiaczek
  1. <?php
  2. $sql = "SELECT * FROM admini WHERE login='".$_POST['login']."' LIMIT 0,30";
  3. ?>
rozny
Jest OK ! smile.gif dzieki wielkie za zainteresowanie i pomoc smile.gif

pozdrawiam smile.gif
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.