• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Mysql PHP Abfrage

Status
Für weitere Antworten geschlossen.

mk98killer

Redstoneengineer
Registriert
12 September 2012
Beiträge
40
Diamanten
0
Hallo,
ich hab ein ******* Problem.
und zwar habe ich alle Datenbanken meines Minecraft Servers verbunden mit eine Mysql Datenbank.
Nur habe ich das Problem das das "script" funktioniert wenn dort dies steht:
Code:
... 
$sql = ("SELECT * FROM stats");
...

Nur wenn ich dann es so schreibe gehts nicht:
Code:
$sql = ("SELECT * FROM lb-players");

Wie kann ich es schreiben das es auch sonder Zeichen wie "-" nimmt?
 

mk98killer

Redstoneengineer
Registriert
12 September 2012
Beiträge
40
Diamanten
0
("Anfrage nicht erfolgreich")

Code:
("Anfrage nicht erfolgreich")

Wenn ich extra vorher einen Fehler einbaue dann kommt die Meldung für den vorherigen "die".
Wenn ich "lb-players" durch "stats" ersetzte dann funktioniert alles einwandfrei.
 

mk98killer

Redstoneengineer
Registriert
12 September 2012
Beiträge
40
Diamanten
0
Mysql gibt aber keine Error raus sondern nur "Anfrage nicht erfolgreich" also die Error Meldung.
Das problem kann nur das "-" von "lb-players" sein, da wenn ich es durch "stats" ersetze dann geht es ja.

Wenn ich eine TEST Tabbelle erstelle mit namen "test-test" und ein paar einträgen dann funktioniert es auch nicht.
 
Zuletzt bearbeitet:

mk98killer

Redstoneengineer
Registriert
12 September 2012
Beiträge
40
Diamanten
0
Php

Nein dieser Code ist nicht meins habe es umgebaut das es die Mysql meines Servers abfragt.

PHP und HTML kenne ich mich ein bisschen aus.

Aber Recht hast ich weiß nicht wie ich das mache das PHP den Error ausgibt.

Normal gibt er sowas aus wenn ein fehler besteht mit angaben wo ein Fehler ist usw. (hier aber nicht)
Code:
Warning: include(Stats_move.hp): failed to open stream: No such file or directory in
 

mk98killer

Redstoneengineer
Registriert
12 September 2012
Beiträge
40
Diamanten
0
Also habe wie Benni gesagt mal den Error ausgeben lassen.
Raus kam:
Code:
0: 1064: 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 '-players' at line 1

Dann habe ich auchnochmal geguckt das die Tabbelle wirkilch auch besteht.
Code:
lb-players

und habe es auchnochmal anhand des LogBlock Mysql Schemas überprüft.

Code:
  CREATE TABLE `lb-players` (    playerid SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,    playername varchar(32) NOT NULL,    firstlogin DATETIME NOT NULL,    lastlogin DATETIME NOT NULL,    onlinetime TIME NOT NULL,    ip varchar(255) NOT NULL,    PRIMARY KEY (playerid),    UNIQUE (playername) );
Leider kann man das Schema nicht verändern sonst hätte ich einfach Logblock verändert und neugestartet dann wäre es gelöst.

Das komisch ist auch das er anscheinend "-" nicht nimmt aber "_" schon.
 
Zuletzt bearbeitet:

FireCraft

Braumeister
Registriert
3 April 2012
Beiträge
308
Diamanten
0
-.-

funktunirt dasP
erstelle eine Tabele mit
BenutzerName
PW

BenutzerName = TEST
PW = TEST

MySQL_USER = Dein MySQL_Name
MySQL_PW = Dein MySQL_PW

wenn das klapt machst du was falsch
es tut mir leid das das eine Login-Datei ist, wenn du php kannst weist du was du alles tun musst



Code:
<?php
$BenutzerName = TEST;
$PW = TEST;


$connect = mysql_connect("localhost","MySQL_USER","MySQL_PW");
mysql_SELECT_db("DATENBANK");
$query = mysql_query("SELECT * FROM TABELE WHERE BenutzerName='$BenutzerName'");
$num = mysql_num_rows($query);




if ($num!=0)
{
WHILE ($row = mysql_fetch_assoc($query))
{


$dbbenutzer = $row['BenutzerName'];
$dbpasswort = $row['PW'];


}
if ($dbbenutzer==$BenutzerName AND $dbpasswort==$PW)
{
echo "Willkomen '$BenutzerName' auf SkyFire.de";
}
else
echo "Fail to Login =((Datenbank fehler)";
}
else
echo"Der BenutzerName '$BenutzerName' oder das Passwort '******' ist falsch(Datenbank funktunirt)";
?>


mach mall das 'TABELEN-NAME' diese ' weg
 
Zuletzt bearbeitet:

mk98killer

Redstoneengineer
Registriert
12 September 2012
Beiträge
40
Diamanten
0
funktunirt dasP
erstelle eine Tabele mit
BenutzerName
PW

BenutzerName = TEST
PW = TEST

MySQL_USER = Dein MySQL_Name
MySQL_PW = Dein MySQL_PW

wenn das klapt machst du was falsch
es tut mir leid das das eine Login-Datei ist, wenn du php kannst weist du was du alles tun musst



Code:
<?php
$BenutzerName = TEST;
$PW = TEST;


$connect = mysql_connect("localhost","MySQL_USER","MySQL_PW");
mysql_SELECT_db("DATENBANK");
$query = mysql_query("SELECT * FROM TABELE WHERE BenutzerName='$BenutzerName'");
$num = mysql_num_rows($query);




if ($num!=0)
{
WHILE ($row = mysql_fetch_assoc($query))
{


$dbbenutzer = $row['BenutzerName'];
$dbpasswort = $row['PW'];


}
if ($dbbenutzer==$BenutzerName AND $dbpasswort==$PW)
{
echo "Willkomen '$BenutzerName' auf SkyFire.de";
}
else
echo "Fail to Login =((Datenbank fehler)";
}
else
echo"Der BenutzerName '$BenutzerName' oder das Passwort '******' ist falsch(Datenbank funktunirt)";
?>


mach mall das 'TABELEN-NAME' diese ' weg
DU willst testen ob ein script auf die Datenbank zugreifen kann?
Wenn ich meine Datenbank abfrage mit dem script was ich auch für Tabbelle "lb-players" benutze nur mit der Tabelle "stats" dann funktionierts.
Wenn ich ein "-" in den Tabellen namen mache dann gehts nicht,aber "_" geht.
Liegt nicht an der Datenbank zugriff geht.
 

Pappi

Schafhirte
Gesperrt
Registriert
28 Oktober 2012
Beiträge
141
Alter
40
Diamanten
0
Minecraft
Pappi / PapaHarni
Hat jemand mal dran gedacht ob die Spalten auch die richtigen Bezeichnungen haben?

lb-players ist doch von LogBlock und ist die stats auch von LogBlock für die gleiche Funktion gedacht gewesen? Wenn nicht können gut und gerne auch die Spalten ganz anders heißen. Das sollte man auch immer beachten. Schliesßlich kann man mit mysql_fetch_array() sowie mysql_fetch_row() arbeiten. So muss die ausgabe entweder mit dem Spaltennamen lauten oder eben doch nur Nummerisch von 0 biw (Spaltenanzahl der Tabelle).
 
Status
Für weitere Antworten geschlossen.
Oben