Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z zapytaniami
Forum PHP.pl > Forum > PHP
Purpen
Witam! W pliku buy_points.php mam taki kod:
  1. <?php
  2. mysql_connect('localhost', 'root', '...') or die("mysql_error");
  3. mysql_select_db('ots') or die("mysql_error");
  4. if(!isset($_POST['sms_send'])) {
  5. echo "";
  6. }
  7. else
  8. {
  9. $acc_mysql = mysql_real_escape_string($_POST['acc_numb']);
  10. $sms_mysql = mysql_real_escape_string($_POST['sms_code']);
  11. $query_check = mysql_query("SELECT * FROM `codes` WHERE `Code` = '" . $sms_mysql . "' AND `used` = ''");
  12. $query_check_2 = mysql_query("SELECT * FROM `accounts` WHERE `id` = '" . $acc_mysql . "'");
  13. if(mysql_num_rows($query_check) != 0) {
  14. $points_now_query = mysql_query("SELECT `premium_points` FROM `accounts` WHERE `id` = '" . $acc_mysql . "'");
  15. $points_now = mysql_fetch_array($points_now_query);
  16. $points = '50';
  17. $premium_points = "$points_now+$points";
  18. function zastap($tabela, $pole, $wartosc, $pole2, $wartosc2) {
  19. mysql_query("UPDATE {$tabela} SET {$pole}={$wartosc} WHERE {$pole2}={$wartosc2}");
  20. }
  21. zastap('codes', 'used', '1', 'Code', '.$sms_mysql.');
  22. zastap('accounts', 'premium_points', '.$premium_points.', 'id', '.$acc_mysql.');
  23. echo "<b>You have got now + 50 premium points!</b>"; 
  24. }
  25. else
  26. {
  27. echo "<b>Wrong Code!</b>";
  28. }
  29. }
  30. ?>

1. Skrypt po wykonaniu nie ustawia kodowi pola used na wartość 1.
2. Nawet gdy ja ustawie wartość pola used na 1, czyli że kod został wykonany to i tak można go użyć po raz kolejny.
3. W tabeli accounts podobnie jak w punkcie pierwszym nie zmienia się wartość danego pola, którym w tym wypadku jest: premium_points.
Proszę o jak najszybszą odpowiedź i z góry dziękuję za pomoc smile.gif.

~refresh~
johndoe
masz blad w wyloniau funkcji

CODE
zastap('codes', 'used', '1', 'Code', '.$sms_mysql.');


powinno byc
CODE
zastap('codes', 'used', '1', 'Code', $sms_mysql);


analogcznie w drugim przypadku jej wywolania a jesli $sms_mysql nie jest liczba do samej deklaracji funcki powinienes dostawic cudzyslowy

CODE
mysql_query("UPDATE `{$tabela}` SET `{$pole}`='{$wartosc}' WHERE `{$pole2}`='{$wartosc2}'");
neverever
Pokićkany ten kod.

Zamiast
  1. <?php
  2. mysql_query("UPDATE {$tabela} SET {$pole}={$wartosc} WHERE {$pole2}={$wartosc2}");
  3. ?>

daj
  1. <?php
  2. mysql_query("UPDATE '$tabela' SET '$pole'='$wartosc' WHERE '$pole2'='$wartosc2'");
  3. ?>


Zamiast
  1. <?php
  2. zastap('codes', 'used', '1', 'Code', '.$sms_mysql.');
  3. zastap('accounts', 'premium_points', '.$premium_points.', 'id', '.$acc_mysql.');
  4. ?>

daj
  1. <?php
  2. zastap('codes', 'used', '1', 'Code', $sms_mysql);
  3. zastap('accounts', 'premium_points', $premium_points, 'id', $acc_mysql);
  4. ?>


Selecty też bym analogicznie poprawił.
Purpen
Nadal nic :/.

Zrobiłem to co kazaliście i nic :/...
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.