Hallo, ich habe ein kleines problem mit mysql. Ich möchte aus einer Datenbank von einem benutzernamen die id bekommen danach mit der id in einer anderen tabelle alle einträge auslesen und in einer zahl darstellen lassen doch leider kommt immer der fehler:
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 WHERE playername=SuGGl LIMIT 1' at line 1
Hier ist der Code:
PHP Code:
<?php
$user = $_SESSION['name'];
$frage = "SELECT playername, playerid FROM lb-players WHERE playername=$user LIMIT 1";
$ergebnis = mysql_query($frage) or die(mysql_error());
$row = mysql_fetch_object($ergebnis);
$id = $row->playerid;
$frage = "SELECT * FROM lb-world WHERE playerid LIKE '$id'";
$anz = mysql_num_rows($frage) or die(mysql_error());
echo "Du hast ".$anz." Blöcke bearbeitet";
?>
$query= MYSQL_QUERY(" SELECT tabelle1.*,tabelle2.alter,tabelle2.id FROM tabelle1 LEFT JOIN tabelle2 ON (tabelle2.id = tabelle1.id) WHERE tabelle1.name='Hans' ");
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 WHERE playername=SuGGl LIMIT 1' at line 1
PHP Code:
$frage = "SELECT playername, playerid FROM lb-players WHERE playername=$user LIMIT 1";
Beim Vergleich des Namens muss die Variable "$user" in Anführungszeichen gesetzt werden:
Code:
"SELECT playername, playerid FROM lb-players WHERE playername=`$user` LIMIT 1"
Ein Tipp: Sieh zu, dass alle Variablen in einer Query ordentlich escaped sind.
Und JOINs zu benutzen ist eleganter und auch technisch gesehen schneller.
Escapen Sie jede nicht numerische Benutzereingabe, welcher zur Datenbank weitergereicht werden soll mit der jeweiligen datenbankspezifischen Escape-Funktion (z.B. mysql_real_escape_string(), sqlite_escape_string() usw.). Wenn keine datenbankspezifischen Escapemechanismen existieren können in der Regel (je nach Datenbanktyp) auch die Funktion addslashes() und addcslashes() von Nutzen sein. Siehe auch das erste Beispiel. Wie dieses Beispiel zeigt, sind in den statischen Teil der Abfrage eingebrachten Escapes nicht genug, und können leicht gehacked werden.
Geben Sie keinerlei datenbankspezifische Informationen aus, speziell über das Schema, egal wie (auf ehrliche oder unehrliche Weise). Siehe auch Fehlerbehandlung und Error Handling and Logging Functions.
Sie können stored procedures und vorher definierte Cursor verwenden, um den Datenzugriff zu abstrahieren, sodass Benutzer nicht direkt auf Tabellen oder Views zugreifen, aber diese Lösung hat andere Auswirkungen.
MySql Problem 04/04/2012 - Metin2 Private Server - 0 Replies Hi,
habe ein Problem mit meinem Mysql Server auf freebsd. Der Server selbst hat 24GB Ram. Habe per Tuning-primer die my.cnf eingestellt die folgendermaßen aussieht:
# The MySQL server
sync_binlog=1
port = 3306
socket = /tmp/mysql.sock
MySQL problem.. 03/07/2012 - Metin2 Private Server - 0 Replies Hallo zusammen :)
Ich habe ein Problem bezüglich MySQL..
wenn ich über Navicat bonis switche.. sehe ich ingame nichts (auch nach reboot nicht)
im errorfile steht folgendes:
Ausschnitt:
SYSERR: Mar 7 19:40:36 :: ChildLoop: AsyncSQL: query failed: Unknown column 'vnum' in 'field list' (query: INSERT DELAYED INTO log (type, time, who, x, y, what, how, hint, ip, vnum) VALUES('ITEM', NOW(), 2, 2986, 0, 30000006, 'SET_SOCKET', '', '', 72702) errno: 1054)
SYSERR: Mar 7 19:40:40 ::...
MySQL Problem 11/13/2011 - Technical Support - 9 Replies Wenn ich IP, User sowie Passwort eingebe, kommt direkt das:
1130 - Host 'p5B1763D8.dip.t-dialin.net' is not allowed to connect to this MySQL server
Woran liegt das?
Danke im vorraus
[PROBLEM]:[Root]:Mysql:[...]/tmp/mysql.sock 10/22/2011 - Metin2 Private Server - 3 Replies Hallo Community habe jetzt seit ein Paar Tagen einen Fehler Namens:
failed, retrying in 5 secondsmysql_real_connect: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Screen:
http://img809.imageshack.us/img809/9805/helpg.png
Problem mit MySQL 08/18/2011 - Metin2 Private Server - 8 Replies Nabend,
ich habe ein Problem mit MySQL und zwar,
wenn ich einen Datenbank account erstellen will,
also das mein Kumpel auch auf meine Datenbank conecten kann,
wird das passwort was ich eingebe nicht angenommen.
z.b. 123456789 auf 8 Zahlen/Buchstaben verkürzt.
doch auch wenn ich nur 6 Zahlen/Buchstaben eingebe,
wird es auf 8 Zahlen/Buchstaben verlängert.
Sprich egal was ich eingebe,