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

Statystyki DiabloMod www


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

#1 VoX332

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:10
Offline

Napisano 01.04.2009 20:49

Witam, otóż mam problem, nie działają mi statystki diablo moda...
Taki piękny błąd mi pokazuje na www:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table ORDER BY lvl DESC, exp DESC limit 0,100' at line 1

Próbowałem na:
# Serwer: db4free.net via TCP/IP
# Wersja serwera: 5.1.33
oraz
# Serwer: Localhost via UNIX socket
# Wersja serwera: 5.0.67

Ktoś wie jak zaradzić temu problemikowi ?

Lub proszę polecić jakąś darmową bazę gdzie to pójdzie...
  • +
  • -
  • 0

#2 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 01.04.2009 21:05

błąd PHP(budowanie zapytania) lub składni SQL(samo zapytanie)

W obu przypadkach napisz tu, której wersji używasz, a najlepiej wklej kod. Pamiętaj o bezpieczeństwie danych MySQL zmień na przypadkowe albo usuń przed wysłaniem.
  • +
  • -
  • 0

#3 VoX332

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:10
Offline

Napisano 01.04.2009 21:09

http://amxx.pl/viewt...?t=8787&start=0
<?
$sql_conn = mysql_connect($dbhost , $dbuser, $dbpassword);
mysql_select_db($dbname);
$class = $_GET['class'];

$sql = "SELECT exp,lvl,nick from dbmod_tables where klasa ='$class' ORDER BY lvl,exp ";
$query = mysql_query($sql);
while (mysql_fetch_row($query)) {
	$nick = mysql_result($query, 3);
	$lvl2 = mysql_query($sql_conn,"SELECT lvl FROM $dbtable WHERE nick = '$nick' and klasa = '$class'");
	$lvl = mysql_result($lvl2, 1);
	$exp2 = mysql_query($sql_conn,"SELECT exp FROM $dbtable WHERE nick = '$nick.' and klasa = '$class'");
	$exp = mysql_result($exp2, 1);
		
}

?>

W bazie jest stworzona tabela: table
  • +
  • -
  • 0

#4 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 01.04.2009 21:13

$class = $_GET['class'];

$sql = "SELECT exp,lvl,nick from dbmod_tables where klasa ='$class' ORDER BY lvl,exp ";
$query = mysql_query($sql); 
hehe brawo :D dobrze, że to tylko SELECT, bo SQL Injection to niebezpieczna sprawa.

Przed
$query = mysql_query($sql);
daj
echo $query;
i wklej to co się pojawi nadplanowo (czego nie było wcześniej)
  • +
  • -
  • 0

#5 VoX332

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:10
Offline

Napisano 01.04.2009 21:18

<?

$sql_conn = mysql_connect($dbhost , $dbuser, $dbpassword);

mysql_select_db($dbname);

$class = $_GET['class'];



$sql = "SELECT exp,lvl,nick from dbmod_tables where klasa ='$class' ORDER BY lvl,exp ";

echo $query;

$query = mysql_query($sql);

while (mysql_fetch_row($query)) {

	$nick = mysql_result($query, 3);

	$lvl2 = mysql_query($sql_conn,"SELECT lvl FROM $dbtable WHERE nick = '$nick' and klasa = '$class'");

	$lvl = mysql_result($lvl2, 1);

	$exp2 = mysql_query($sql_conn,"SELECT exp FROM $dbtable WHERE nick = '$nick.' and klasa = '$class'");

	$exp = mysql_result($exp2, 1);

		

}



?>

  • +
  • -
  • 0

#6 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 01.04.2009 21:18

Sry to nie ten fragment kodu. Jutro sam sprawdzę.

[ Dodano: 01-04-2009, 22:19 ]
Nie w tym miejscu jest problem, jutro oblukam cały kod.
  • +
  • -
  • 0

#7 VoX332

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:10
Offline

Napisano 01.04.2009 21:21

Można kontakt ew. na gg? jeżeli znajdziemy rozwiązanie na gg to je tutaj wkleję...

Ps. Pisze na PW
  • +
  • -
  • 0

#8 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 01.04.2009 22:17

Błąd wyskakuje przy kiepsko dobranej nazwie tabeli. Trzeba zmienić:
//ogólnie to wszystkie
$dbtable
na
`$dbtable`

index.php (78)
$player = "SELECT * from $dbtable where nick='$nick'";
na
$player = "SELECT * from `$dbtable` where nick='$nick'";

index.php (123)
$queryall = mysql_query("SELECT * from $dbtable ORDER BY lvl DESC, exp DESC limit 0,$ile")or die(mysql_error());
na
$queryall = mysql_query("SELECT * from `$dbtable` ORDER BY lvl DESC, exp DESC limit 0,$ile")or die(mysql_error());

index.php (162)
$sql = "SELECT * from $dbtable where klasa ='$class' ORDER BY lvl DESC, exp DESC limit 0,$ile";
na
$sql = "SELECT * from `$dbtable` where klasa ='$class' ORDER BY lvl DESC, exp DESC limit 0,$ile";

sql.php(6)
$sql = "SELECT exp,lvl,nick from dbmod_tables where klasa ='$class' ORDER BY lvl,exp ";
na
$sql = "SELECT exp,lvl,nick from `$dbtable` where klasa ='$class' ORDER BY lvl,exp ";

sql.php(10)
$lvl2 = mysql_query($sql_conn,"SELECT lvl FROM $dbtable WHERE nick = '$nick' and klasa = '$class'");
na
$lvl2 = mysql_query($sql_conn,"SELECT lvl FROM `$dbtable` WHERE nick = '$nick' and klasa = '$class'");

sql.php(12)
$exp2 = mysql_query($sql_conn,"SELECT exp FROM $dbtable WHERE nick = '$nick.' and klasa = '$class'");
na
$exp2 = mysql_query($sql_conn,"SELECT exp FROM `$dbtable` WHERE nick = '$nick.' and klasa = '$class'");

i problem z głowy.
  • +
  • -
  • 0

#9 VoX332

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:10
Offline

Napisano 01.04.2009 22:33

R3X, nom uprzedziłeś mnie, ale wspólna praca robi swoje, dziękuję że znalazłeś trochę wieczornego czasu na moje problemy, to też fakt że to pomoże wielu ludziom którzy mieli z tym problem, sam pisałem z paroma takimi osobami.
Myślę że temat można zamknąć gdyż cała kwestia została wyjaśniona.
  • +
  • -
  • 0




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

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