Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: O co w tym chodzi ?
Forum PHP.pl > Forum > Przedszkole
White_Master
Mam taki kod :
  1. <?php
  2.  
  3. // Łaczenie się z bazą MySQL
  4.  
  5. $strVarHost = 'localhost';
  6. $strVarUser = 'root';
  7. $strVarPasswd = 'krasnal';
  8. $strVarBaza = 'gptr_wm';
  9.  
  10. $sqlConnect = mysql_connect($host, $user, $passwd); // Łączenie się z bazą.
  11. $sqlSelect = mysql_select_db($baza);
  12.  
  13.  
  14. function loguj($imie, $haslo)
  15. {
  16.  
  17. $sqlQuery = mysql_query(&#092;"SELECT * FROM users WHERE user = '$imie' \");
  18. $sqlArray = mysql_fetch_array($sqlQuery);
  19.  
  20.  
  21. if ($sqlArray = TRUE)
  22. {
  23. $sqlUser = $sqlArray['user'];
  24. $sqlPass = $sqlArray['passwd'];
  25.  
  26.  
  27. if ($user == $sqlUser && $passwd == $sqlPass)
  28. {
  29. echo 'Witaj'.$user;
  30.  
  31. }
  32.  
  33.  
  34. }
  35. else
  36. {
  37. echo 'przykro mi, ale podany przez ciebie uzytkownik nie istnieje';
  38. }
  39.  
  40. }
  41.  
  42. $user = $_POST['imie'];
  43. $passwd = $_POST['haslo'];
  44.  
  45. loguj($user, $passwd);
  46.  
  47. ?>

I wyskakuje mi błąd :
Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\www\script by white_master beta v 0.2\enter.php on line 18
Ociu
Daj
  1. <?php
  2. $sqlQuery = mysql_query(&#092;"SELECT * FROM users WHERE user = '$imie' \") or die(\"blad: \". mysql_error());
  3. ?>


i napisz co się wyświetliło.

  1. <?php
  2. if ($sqlArray = TRUE)
  3. ?>


zmień na :
  1. <?php
  2.  
  3. if ($sqlArray == TRUE)
  4. ?>


pozdrawiam
M4chu
sprawdz blad za pomoca mysql_error(), np:
  1. <?php
  2.  
  3. $query = &#092;"SELECT (...) \";
  4.  
  5. if( ! $result = @mysql_query( $query ) )
  6. {
  7. die( mysql_error() );
  8. }
  9.  
  10. $array = mysql_fetch_array( $result );
  11.  
  12. ?>
Vertical
  1. <?php
  2. $sqlQuery = mysql_query(&#092;"SELECT * FROM users WHERE user = '\". $imie .\"' \");
  3. ?>

...albo po prostu przy podawaniu parametrów dla funkcji loguj zmienna $imie podana już jest w apostrofach, jeśli tak, to:
  1. <?php
  2. $sqlQuery = mysql_query(&#092;"SELECT * FROM users WHERE user = \". $imie .\" \");
  3. ?>
Cysiaczek
Oj te zapytanie to chyba od wersji Mysql'a i php zależą.
Cytat
<?php
$sqlQuery = mysql_query("SELECT * FROM users WHERE user = ". $imie ." ");
?>


U mnie nie ma problemu z napisaniem
  1. <?php
  2. $sqlQuery = mysql_query(&#092;"SELECT * FROM users WHERE user = '$user';\");
  3. ?>


O ile dam średnik na końcu zapytania zaraz po zmiennej user
White_Master
Oto error :
Cytat
Something is wrong in your syntax obok '..) ' w linii 1
shizo
Cytat
loguj($user, $passwd);
A to co?
strife
Witam,

1. Upewnij się czy taka tabela wogóle istnieje (users) - sprawdzałem u siebie i to może być przyczyną.

2. Tak jak mówili moi przedmówcy sprawdź mysql_error co wyświetla... wtedy wszystko się wyjaśni.

@shizo - przypuszczam, a raczej napewno jest to wywołanie funkcji loguj zawartej powyżej kodu.

@White_Master - Tak wiec w miarę możliwości sprawdź to i napisz coś więcej.

Pozdrawiam!
TomASS
Mi się wydaje, że problem leży w:

  1. <?php
  2.  
  3. // Łaczenie się z bazą MySQL
  4.  
  5. $strVarHost = 'localhost';
  6. $strVarUser = 'root';
  7. $strVarPasswd = 'krasnal';
  8. $strVarBaza = 'gptr_wm';
  9.  
  10. $sqlConnect = mysql_connect($host, $user, $passwd); // Łączenie się z bazą.
  11. $sqlSelect = mysql_select_db($baza);
  12.  
  13. ?>


czy nie powinno gdzieś być:
  1. <?php
  2.  
  3. $host = $strVarHost;
  4. $user = $strVarUser;
  5. $passwd = $strVarPasswd;
  6. $baza = $strVarBaza;
  7.  
  8. ?>



A może się mylę?
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.