Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Polaczenie do Mysql php w funkcji
Forum PHP.pl > Forum > PHP
upeertv
Witam mam takie funkcje

  1. function test($userID){
  2.  
  3. include ("db.php");
  4.  
  5. $timestamp = date('2017-03-28 03:30:00');
  6. $sel2 = "SELECT * FROM prize WHERE prizesStartDate < '$timestamp'";
  7. $res2 = mysql_query($sel2);
  8. while ($row2 = mysql_fetch_assoc($res2)) {
  9. if ($row2['status'] == 0){
  10. $idPrize = $row2['id'];
  11. $_SESSION['prizeName'] = $row2['name'];
  12. mysql_query("UPDATE `prize` SET `userID`='$userID' WHERE id = '$idPrize'");
  13. mysql_query("UPDATE `prize` SET `status`='1' WHERE id = '$idPrize'");
  14. mysql_query("UPDATE `prize` SET `timestamp`='$timestamp' WHERE id = '$idPrize'");
  15.  
  16. break;
  17. }
  18. }
  19.  
  20. if (!empty($idPrize)){
  21. return 'true';
  22. } else {
  23. return 'false';
  24. }
  25.  
  26. }
  27.  
  28.  
  29. function checkIfwin(){
  30.  
  31. include ("dbTaproom.php");
  32. $phone = $_SESSION['phone'];
  33. $phoneSTR = strlen($phone);
  34. if ($phoneSTR == 10){
  35. $phone = '1'.$phone.'';
  36. }
  37.  
  38.  
  39. $sel = "SELECT taproom_games FROM taproom_games WHERE projectId = '119' AND phone = '$phone'";
  40. $res = mysql_query($sel);
  41. $flags = false;
  42. while ($row = mysql_fetch_assoc($res)) {
  43. if ($row['winner'] == '1'){
  44. $flags = true;
  45. return $flags;
  46. break;
  47. }
  48. }
  49. return $flags;
  50.  
  51. }
  52.  
  53.  
  54. function checkWinner($win){
  55.  
  56. if ($win == 'yes') {
  57.  
  58.  
  59. $flags = checkIfwin();
  60.  
  61. if ($flags == true){
  62. return 'notwin';
  63. } else {
  64.  
  65.  
  66.  
  67. $returnPrize = test('1');
  68. echo $returnPrize;
  69.  
  70.  
  71. if ($returnPrize == 'true'){
  72. $_SESSION['entryForm'] = 'yes';
  73. $_SESSION['bac7b08194680a075642e79d03fdcd52'] = 'bac7b081yky9d03fdcd52'; // Winner Session
  74. return 'win';
  75. } else {
  76. return 'notwin';
  77. }
  78. }
  79.  
  80. } else {
  81. return 'notwin';
  82. }
  83.  
  84. }
  85.  
  86.  
  87.  
  88. checkWinner('yes');



Teraz jesli wywolam funkcje test() w funkcji checkWinner() i sprawdze co zwraca test() to zwroci false mimo ze wiem ze powinno zwrocic true. Natomiast gdy nie odpale na koncu tek funkcji checkWinner() a tylkop test() to wtedy zwroci poprawna wartosc.
Zaobserwowalem ze wywolanie funkcji test() przed $flags = checkIfwin(); zwrocic true (popprawnie) natomiast gdy odpale ta funkcje za $flags = checkIfwin(); to zwroci false (niepoprawnie).

Mysle ze chodzi tutaj o polaczenie Bazy danych w jeden funkcji lacze sie do innej tabeli dbTaproom.php a w drugiej funkcji do db.php, to ze soba koliduje. Jak zrobic zeby polaczenie do danej tabeli odnosilo sie tylko w danej funkcji ?


Chce osiagnac efekt zeby include dotyczyl tylko w danej funkcji poza nia nie
Tomplus
Pomieszałeś sobie kod.

Jeżeli musisz mieć połączenie z bazą, to zrób

include ("db.php"); przed funkcją test()
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.