PHP Kenntnisse in Verbindung mit MySQL? WoW Armory

03/25/2012 14:55 Sosila#1
PHP Kenntnisse in Verbindung mit MySQL?

Quote:
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 'LIMIT 1' at line 1
Wer sich selber überzeugen will -> Goettersohn Armory 2.4.3

Ich versuche gerade dieses Armory fertigzustellen, ich habe auch schon die meisten Fehler beseitigt, doch an diesem bin ich jetzt hängen geblieben, dafür fehlen mir die Kenntnisse.. Wenn jemand also eine Ahnung hat, wie ich so eine Zeile (bsp.):

PHP-Quelltext

Quote:
$StatQuery = execute_query("SELECT `guid`, `account`, `name`, `race`, `class` FROM `characters` WHERE `name` = '".$request."'".exclude_GMs()." LIMIT 1");
ändern kann, dass es funktioniert, bzw. eine Lösung hat dann möge er mir doch bitte helfen...

Es müssten ca. 20 Seiten mit mehreren Zeilen in denen das vorkommt und die betreffen alle nur den Charakter. Vorher hatte ich das Problem, dass er auf eine falsche Tabelle zugegriffen hat.
Also die Items zeigt er an, da gab es nie ein Fehler, aber die Charaktere hat er noch nie angezeigt..

MFG
03/25/2012 15:14 Mashkin#2
PHP Code:
$StatQuery execute_query("SELECT `guid`, `account`, `name`, `race`,  `class`
 FROM `characters` WHERE `name` = '"
.$request."'".exclude_GMs()."  LIMIT 1"); 
Bitte für PHP-Code den [php][/php]-Tag benutzen.

Schau dir mal die Funktion "exclude_GMs()" an bzw. deren Rückgabewert und versuch' es gegebenenfalls ohne die Funktion.

Außerdem sollte (soweit ich weiß) am Ende noch ein Semikolon die Query abschließen.
PHP Code:
$StatQuery execute_query("SELECT `guid`, `account`, `name`, `race`,  `class`
 FROM `characters` WHERE `name` = '"
.$request."'  LIMIT 1;"); 
03/25/2012 15:48 Sosila#3
Ok, danke ich schau mal.

#Edit Hat auch nichts genutzt.. Und das Semikolon muss nur an das Ende und das ist ja bereits da ^^
03/25/2012 19:51 PseudoPsycho#4
Da die Syntax "LIMIT 1" gemeldet wird, muss das Problem unmittelbar davor stehen...
Versuch' mal vorher, die Funktion exclude_GMs() zu testen, also:
PHP Code:
var_dump(exclude_GMs()); 
und schreib' uns, was dadurch ausgegeben wird...
03/25/2012 23:10 Mashkin#5
Quote:
Originally Posted by PseudoPsycho View Post
Da die Syntax "LIMIT 1" gemeldet wird, muss das Problem unmittelbar davor stehen...
Versuch' mal vorher, die Funktion exclude_GMs() zu testen, also:
PHP Code:
var_dump(exclude_GMs()); 
und schreib' uns, was dadurch ausgegeben wird...
Das ist die Funktion (der TE hat mir ein Paar Dateien zukommen lassen):
PHP Code:
function exclude_GMs()
{
    global 
$config;
    
$excludeGMs "";
    if(
$config["ExcludeGMs"])
        
$excludeGMs " AND (`extra_flags` & 1) = 0";
    if(isset(
$_SESSION["GM"]))
        
$excludeGMs "";
    return 
$excludeGMs;

Die Query säh dann also etwa so aus:
PHP Code:
$StatQuery execute_query("SELECT `guid`, `account`, `name`, `race`,  `class`
 FROM `characters` WHERE `name` = '"
.$request."' AND (`extra_flags` & 1) = 0  LIMIT 1"); 
Ich kann daran beim besten Willen nichts falsches finden, mein MySQL-Server meckert auch nicht.