Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Problem w ifach
Forum PHP.pl > Forum > Przedszkole
Carveth
Witam! Tworzę te konta premium do vallheru... no i piszę ten skrypcik... wiem że coś nawaliłem bo chyba powinno być to za pomocą funkcji string ale nie znam php by to dobrze napisać... już się sam gubię w ifach...

  1. <?php
  2. $res = "SELECT * FROM xxx WHERE xy='".$_POST['yyy']."' AND aaa='active' LIMIT 1";
  3.  
  4. if ($res['status'] != active && $res -> xy != '".$_POST['aaa']."')
  5. {
  6. error("Kod jest nieprawidłowy");
  7. }
  8. else {
  9. if($res['aaa'] == active && $res -> xy='".$_POST['yyy']."')
  10. {
  11. $db -> Execute("UPDATE players SET kontop='Y' WHERE id=".$player -> id);
  12. error("Konto premium zostało aktywowane!");
  13. }
  14. }
  15. ?>


W pierwszym ifie gdzie wywala error chcę by jeśli nie ma żadnego kodu w bazie takiego jak podano w formularzu i i w kolumnie aaa w tym kodzie gdy wartość nie jest active to ma wywalić errora... ehh mogę być pewny że coś tam zawaliłem więc proszę was o rozwiązanie problemu jakiego ifa tu wstawić

PS. Nazwy kolumn i tabel lekko zatuszowałem tongue.gif Ale wszystko powinno być i tak zgodne
marcio
  1. <?php
  2. //polaczenie z baza
  3. $res = "SELECT * FROM xxx WHERE xy='".$_POST['yyy']."' AND aaa='active' LIMIT 1";
  4. $wynik = mysql_query($res, $resource_z_bazy);
  5.  
  6. while($tab = mysql_fetch_assoc($wynik)) {
  7.  
  8. if ($tab['status'] != 'active' && $tab['xy'] != $_POST['aaa']) {
  9. error("Kod jest nieprawidłowy");
  10. }
  11.  
  12. else if($tab['aaa'] == active && $tab['xy'] == $_POST['yyy'])
  13. {
  14. $db -> Execute("UPDATE players SET kontop='Y' WHERE id=".$player -> id);
  15. error("Konto premium zostało aktywowane!");
  16.  } 
  17.  }
  18. }
  19. ?>

Cos takiego
Carveth
wywala errora -

Warning
: mysql_query(): supplied argument is not a valid MySQL-Link resource in xxx.php on line 15

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in xxx.php on line 17

a linie od 15-17 to

$wynik = mysql_query($res, $resource_z_bazy);

while($tab = mysql_fetch_assoc($wynik)) {
vtuner
To znaczy, że najprawdopodobniej nazwa tabeli lub nazwy pól są nieprawidłowe (czyt. niezgodne z Twoją bazą danych)
marcio
Moze bys tak zmienil jak trzeba
  1. <?php
  2. $res = "SELECT * FROM xxx WHERE xy='".$_POST['yyy']."' AND aaa='active' LIMIT 1";
  3. $wynik = mysql_query($res, $resource_z_bazy);
  4.  
  5. while($tab = mysql_fetch_assoc($wynik)) {
  6. ?>

Dodaj zmienna za pomoca ktora sie laczysz z baza a jesli masz na klasach to chyba bez....i sprawdz nazwe tabel i kolumn
Carveth
To jest silnik vallheru...

nazwy tabeli i kolumn są poprawne... są kolumny id, code, status a tabela codess

ale error ciągle jest
vtuner
Spróbuj zamiast:

  1. <?php
  2. $wynik = mysql_query($res, $resource_z_bazy);
  3. ?>

wpisać funkcję silnika vallheru.
Carveth
Miałem ten kod
Cytat
$res = $db -> Execute("SELECT * FROM xxx WHERE xy='".$_POST['yyy']."' AND aaa='active'");
$wynik = mysql_query($res, $resource_z_bazy);

while($tab = mysql_fetch_assoc($wynik)) {

if ($tab['aaa] != 'active' && $tab['xy'] != $_POST['yyy']) {
error("Kod jest nieprawidłowy");
exit;
}


wywalało mi 2 errory (errory są powyżej - takie same oba były) dotyczące $res i $wynik = mysql_query($res, $resource_z_bazy);

usunąłem $resource_z_bazy i teraz wywala mi errora

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in xxx.php on line 16

gdzie 16 linia to while($tab = mysql_fetch_assoc($wynik)) {
vtuner
Co oznacza, że podałeś w zapytaniu błędne dane dotyczące nazwy tabeli lub nazw pól.
Carveth
W 100% są poprawne pola tabel... dałem takie coś

  1. <?php
  2. $res = $db -> getRow("SELECT * FROM xxx WHERE xy='".$_POST['yyy']."' AND aaa='active'");
  3. if (empty($res)) {
  4. error("Kod jest nieprawidłowy");
  5. }
  6. ?>


I niby jakoś ładnie jest ale nie wiem jak zrobić tak samo tego ifa (na tej samej funkcji jak u góry)


  1. <?php
  2. else if($tab['aaa'] == active && $tab['xy'] == $_POST['yyy'])
  3. {
  4. $db -> Execute("UPDATE players SET konto='Y' WHERE id=".$player -> id);
  5. error("Konto premium zostało aktywowane!");
  6.  }
  7. }
  8. ?>


questionmark.gif?

proszę o szybką odpowiedź
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.