Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
PHP

[ROZWIĄZANE] Nie mogę wykonać zapytania.

PHP php

  • Zamknięty Temat jest zamknięty
5 odpowiedzi w tym temacie

#1 ELOS

    No i pozamiatane ;*

  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 08.12.2011 07:35

Witam mam taki problem że php traci połączenie z bazą danych i mi nie może wykonać zapytanie gdy funkcja się spełnia.


Warning: mysql_query() [function.mysql-query]: Access denied for user 'kamil220'@'localhost' (using password: NIE) in /home/kamil220/domains/cs-bezlitosni.eu/public_html/sklep/doladuj.php on line 50
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/kamil220/domains/cs-bezlitosni.eu/public_html/sklep/doladuj.php on line 50


<?php
// parametry serwera
$serwer = "localhost";  // nazwa serwera mysql
$login  = "xxxxx";  // login do bazy
$haslo  = "xxxx";  // haslo do bazy
$baza   = "xxxx";  // nazwa bazy
$kod = $_POST['kod'];
$loginy = $_SESSION['zalogowany'];
if(isset($_POST['ok'])) {
	
	// łączymy się z bazą danych
	if (mysql_connect($serwer, $login, $haslo) and mysql_select_db($baza)) {
		
		// zapytanie do bazy danych
		$wynik = mysql_query("SELECT * FROM kody WHERE kod='$kod'")
		or die("Błąd w zapytaniu!");
  mysql_close();
		
	}
	else echo "Nie mogę połączyć się z bazą danych!";
	
	// wyświetlany wyniki zapytania
	while($rek = mysql_fetch_array($wynik)) {
  if($rek['wolny'] == 0 && $rek['stawka'] == 5)
  {
  echo "Kod: ".$rek['kod']." jest poprawny doladowano 1.80 zl do twojego portfela<br>";
  mysql_query ("UPDATE `kody` SET `uzyl` = '$loginy', `wolny` = '1' WHERE login = '$loginy'"); /// tu wyskakuje błąd
  }
  else
  {
  echo "Kod: ".$rek['kod']." jest niepoprawny badz zostal juz uzyty!";
  }
	}


}
?>

Hiroshima (09.12.2011 01:09):
jak otrzymałeś już pomoc to może z łaski swojej nie kasuj własnych wypowiedzi?!

Użytkownik Hiroshima edytował ten post 09.12.2011 01:09

  • +
  • -
  • -1

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#2 Gh0st

    :)

  • Power User

Reputacja: 852
Czempion

  • Postów:920
  • GG:
  • Imię:Tomek
  • Lokalizacja:Rabka-Zdrój
Offline

Napisano 08.12.2011 09:19

php traci połączenie z bazą danych

Php straci połączenie dopiero wtedy kiedy cały skrypt zostanie załadowany, lub wcześniej zostanie zamknięty poprzez
mysql_close($handle)

gdy funkcja się spełnia

Chciałeś napisać: Gdy warunek zostanie spełniony

Teraz zajmijmy się kodem ... czemu podałeś kod który ma 37 linijek a błąd występuje w lini 50 ? :D


O już mam, tak nabazgrałeś w tym kodzie że masakra.

if (mysql_connect($serwer, $login, $haslo) and mysql_select_db($baza)) {
// zapytanie do bazy danych
$wynik = mysql_query("SELECT * FROM kody WHERE kod='$kod'")
or die("Błąd w zapytaniu!");
mysql_close();
}

Jeśli warunek zostanie spełniony ( czyli nawiążemy łączność z mysql ) to po wykonaniu zapytania zamykasz mysql?
Zapisujesz mysql_query() do $wynik i tak może być, ale potem znowu wykonujesz zapytanie ale się nie da bo rozłączyłeś mysql. Usuń
mysql_close();
z powyższego warunku i powinno działać :)

Użytkownik Gh0st edytował ten post 08.12.2011 10:44

  • +
  • -
  • 3

#3 ELOS

    No i pozamiatane ;*

  • Autor tematu
  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 08.12.2011 14:57

Dobra działa dzięki : D ale mam kolejny problem ; d jak zrobić aby dodawało daną ilość ?

Mam trochę pokombinowane bo na kilka sposobów próbowałem ale nie działa xD

$wynik2 = mysql_query("SELECT money FROM users WHERE login='$loginy'")
        or die("Błąd w zapytaniu2!");

$stawka5 = $wynik2+1.80;

mysql_query ("UPDATE `users` SET  `money` =  '$stawka5'  WHERE `login` = '$loginy'");

W czym problem ?
  • +
  • -
  • 0

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#4 Gh0st

    :)

  • Power User

Reputacja: 852
Czempion

  • Postów:920
  • GG:
  • Imię:Tomek
  • Lokalizacja:Rabka-Zdrój
Offline

Napisano 08.12.2011 15:00

Nie możesz bezpośrednio do $wynik2 dodać jakąś wartość
zrób tak:
$arr = mysql_fetch_array($wynik2);
$stawka5 = $arr[money]+1.80;

  • +
  • -
  • 2

#5 ELOS

    No i pozamiatane ;*

  • Autor tematu
  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 08.12.2011 15:58

Nie działa.

Dobra do zamknięcia zrobiłem to plus dla panów którzy pomogli.
  • +
  • -
  • 0

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#6 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 08.12.2011 16:09

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: PHP, php

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych