Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] użycie funkcji w funkcji
ensim
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 28.01.2004

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


Cześć mam pytanko,
posiadam takie 3 funkcje:

Kod
function sqlConnect() {
   global $sqlUsername, $sqlPassword, $sqlDatabase, $sqlHostname, $sqlConnection;
    
    $sqlConnection = mysql_connect($sqlHostname, $sqlUsername, $sqlPassword);
    mysql_select_db($sqlDatabase, $sqlConnection);
}

function sqlDisconnect() {
   global $sqlConnection;
    
    mysql_close($sqlConnection);
}

/* FUNKCJE WERYFIKUJĄCE */
function validateUsername($username) {
   $errorBitrate = 0;
      if (empty($username)) { $errorBitrate++; }
        if (!eregi("^[a-z0-9]{6,12}$", $username)) { $errorBitrate++; }
        if ($errorBitrate == 0) {
           $sqlQuery = ("SELECT * FROM tblClients WHERE clUsername=\"$username\"");
            $sqlCount = mysql_num_rows($sqlQuery);
            if ($sqlCount != 0) { $errorBitrate++; }
        }
    
    if ($errorBitrate != 0) { echo 'error'; }
    else { echo 'ok'; }
}


nie wiem teraz w jaki sposób zmusić funkcję validateUsername() do tego żeby skorzystała z już istniejącego połączenia SQL. Ale dziwne jest także to, że jeżeli dam sqlConnect() przed zapytaniem sql i sqlDisconnect() po $sqlCount to i tak dostaję błąd mimo że wysłana nazwa użytkownika nie istnieje w bazie. Tak jakby coś było nie tak z połączeniem.

Ten post edytował ensim 14.01.2010, 21:14:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


  1. // 1. nowa funkcja
  2. function sqlQuery($sql_query, $sqlConnection) {
  3. return mysql_query($sql_query, $sqlConnection);
  4. }
  5.  
  6. // 2. zmiana:
  7. function validateUsername($username, $db_resource) {
  8. // (...)
  9. if(is_resource($db_resource)) {
  10. $sqlQuery = "SELECT * FROM tblClients WHERE clUsername='".$username."'";
  11. $sqlCount = mysql_num_rows(sqlQuery($sqlQuery, $db_resource));
  12. } else {
  13. die('nieprawidłowy zasób połączenia z bazą danych');
  14. }
  15. // (...)
  16. }
  17. // 3. zmiana:
  18. function sqlConnect($sqlUsername, $sqlPassword, $sqlDatabase, $sqlHostname) {
  19. // global $sqlUsername, $sqlPassword, $sqlDatabase, $sqlHostname, $sqlConnection;
  20. $sqlConnection = mysql_connect($sqlHostname, $sqlUsername, $sqlPassword);
  21. if(mysql_select_db($sqlDatabase, $sqlConnection))
  22. return $sqlConnection;
  23. else
  24. return false;
  25. }
  26. // 4. zmiana:
  27. function sqlDisconnect($sqlConnection) {
  28. if(is_resource($sqlConnection))
  29. return mysql_close($sqlConnection);
  30. else
  31. return false;
  32. }
  33. // Teraz tylko odpowiednio wywołać.


Ten post edytował darko 15.01.2010, 09:08:33
Go to the top of the page
+Quote Post

Posty w temacie


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: 11.10.2025 - 17:45