2016-12-08 4 views
-2

ich einen anderen Fehler mit meiner MySQL haben, die wie folgt lautet:MySQL Unhelpful SQL Syntax Error

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 '' at line 1 

ich diesen Fehler, bevor sie durch die Beseitigung unnötiger Zitate erlebt haben, aber dies scheint nicht das Problem, dies zu sein Zeit. Immer wenn ich die Frage nach dem Stack-Überlauf gesehen habe, waren die Fragen entweder auf unnötige Zitate zurückzuführen oder waren für diesen Code sehr einzigartig. Wenn mir jemand helfen oder auf eine nützliche Antwort hinweisen kann, würde ich das schätzen! : ^]

Code:

$sql = "SELECT(sect_id, sect_name, sect_desc)FROM sections WHERE sect_id = " . mysqli_real_escape_string($con,$_GET["id"]); 

$result = mysqli_query($con,$sql); 

if(!$result) 
{ 
echo 'The sections could not be displayed, please try again later.' . mysqli_error($con); 
+5

Entfernen Sie die Klammern um die Spaltennamen –

+1

'var_dump ($ sql);' (oder '$ result') (oder Echo) - was bekommen Sie? –

+0

@juergend Versucht, leider, hat nicht funktioniert –

Antwort

0

Diese Fehlermeldung nicht wenig hilfreich ist. Sie müssen nur daran gewöhnt sein, wie mysql seine Fehler meldet. Wenn der angegebene Abfrageteil leer ist, bedeutet dies, dass der Fehler at the very end of the query aufgetreten ist.

Es bedeutet, dass $_GET["id"] leer ist, produziert eine falsche SQL-Anweisung

SELECT(sect_id, sect_name, sect_desc)FROM sections WHERE sect_id = 

das zu beheben, sollten Sie IMMER Verwendung vorbereitete Anweisungen.

Neben der Syntax wird vorbereitete Anweisung die SQL-Injektion, auf die Ihre Abfrage im Wesentlichen anfällig ist, beheben.

Der nächste Fehler, der angezeigt wird, ist eine falsche Syntax für die Feldliste, aus der geschweifte Klammern entfernt werden sollen.