PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   SQL Error : 1064 You have an error in your SQL syntax. (http://www.selfphp.de/forum/showthread.php?t=16072)

smiliejoe 07.02.2007 22:59:42

SQL Error : 1064 You have an error in your SQL syntax.
 
Hallo Liebe Forumianer ich habe da ein Mächtiges Problem und habe leider auch noch nicht sooo viel ahnung. bin erst seit nem halben jahr dabei.

Ich weiß dieses Thema gibs hier schon aber lol da sieht alles soooo anders aus.
bitte verurteilt mich nicht deswegen.

Also folgende Problematik:

SQL Error : 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 ' 1)' at line 2


jetzt habe ich nachgeschaut aber ich finde den fehler einfach nicht.
eigentlich muss er doch gleich auf line 2 liegen oder so wie der fehler sagt aber mmhhh????


falls ich doch an der falschen stelle suche nochmal der gesamte code hier: http://happygate.de/problemkind.txt






Code:

$delete_sql = '';
                        while( list($forum_id, $action) = @each($forum_auth_action) )
                        {
                                if ( $action == 'delete' )
                                {
                                        $delete_sql .= ( ( $delete_sql != '' ) ? ', ' : '' ) . $forum_id;
                                }
                                else
                                {
                                        if ( $action == 'insert' )
                                        {
                                                $sql_field = '';
                                                $sql_value = '';
                                                while ( list($auth_type, $value) = @each($update_acl_status[$forum_id]) )
                                                {
                                                        $sql_field .= ( ( $sql_field != '' ) ? ', ' : '' ) . $auth_type;
                                                        $sql_value .= ( ( $sql_value != '' ) ? ', ' : '' ) . $value;
                                                }
                                                $sql_field .= ( ( $sql_field != '' ) ? ', ' : '' ) . 'auth_mod';
                                                $sql_value .= ( ( $sql_value != '' ) ? ', ' : '' ) . ( ( !isset($update_mod_status[$forum_id]) ) ? 0 : $update_mod_status[$forum_id]);

                                                $sql = "INSERT INTO " . AUTH_ACCESS_TABLE . " (forum_id, group_id, $sql_field)
                                                        VALUES ($forum_id, $group_id, $sql_value)";
                                        }
                                        else
                                        {
                                                $sql_values = '';
                                                while ( list($auth_type, $value) = @each($update_acl_status[$forum_id]) )
                                                {
                                                        $sql_values .= ( ( $sql_values != '' ) ? ', ' : '' ) . $auth_type . ' = ' . $value;
                                                }
                                                $sql_values .= ( ( $sql_values != '' ) ? ', ' : '' ) . 'auth_mod = ' . ( ( !isset($update_mod_status[$forum_id]) ) ? 0 : $update_mod_status[$forum_id]);

                                                $sql = "UPDATE " . AUTH_ACCESS_TABLE . "
                                                        SET $sql_values
                                                        WHERE group_id = $group_id
                                                                AND forum_id = $forum_id";
                                        }
                                        if( !($result = $db->sql_query($sql)) )
                                        {
                                                message_die(GENERAL_ERROR, "Couldn't update private forum permissions", "", __LINE__, __FILE__, $sql);
                                        }
                                }
                        }

                        if ( $delete_sql != '' )
                        {
                                $sql = "DELETE FROM " . AUTH_ACCESS_TABLE . "
                                        WHERE group_id = $group_id
                                                AND forum_id IN ($delete_sql)";
                                if( !($result = $db->sql_query($sql)) )
                                {
                                        message_die(GENERAL_ERROR, "Couldn't delete permission entries", "", __LINE__, __FILE__, $sql);
                                }
                        }

                        $l_auth_return = ( $mode == 'user' ) ? $lang['Click_return_userauth'] : $lang['Click_return_groupauth'];
                        $message = $lang['Auth_updated'] . '<br /><br />' . sprintf($l_auth_return, '<a href="' . append_sid("admin_ug_auth.$phpEx?mode=$mode") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
                }


________________________________

Bitte um hilfe bin echt am verzweifeln.

|Coding 07.02.2007 23:18:22

AW: SQL Error : 1064 You have an error in your SQL syntax.
 
Auch jemand der erst ein halbes Jahr dabei ist, darf seinen geposteten Code mit der Highlight-Funktion des Forums darstellen.

Wie sehen die Inhalte der Variablen "$delete_sql" und "$sql_value" aus, bevor sie in den Querys verwendet werden?

smiliejoe 08.02.2007 00:21:43

AW: SQL Error : 1064 You have an error in your SQL syntax.
 
LOL also ich glaube ich weis was du meinst aber genau weiß ich es auch nicht, denn ich glaube der inhalt ist garnicht definiert oder??? lieg ich da falsch

feuervogel 08.02.2007 08:28:27

AW: SQL Error : 1064 You have an error in your SQL syntax.
 
Zitat:

Zitat von smiliejoe (Beitrag 97121)
ich glaube der inhalt ist garnicht definiert oder??? lieg ich da falsch

wie wäre es glauben mit wissen zu ersetzen. gib dir die werte aus (mit echo, var_dump o.ä.) und gucke, was drin steht.

außerdem kannst du gerne deine beitrag editieren und den vorschlag von |Coding beherzigen.

zudem habe ich im mysql-forum extra eine ansammlung von fehlerquellen geschaffen, die das eingrenzen des problems erleichtern sollten.

|Coding 08.02.2007 10:12:00

AW: SQL Error : 1064 You have an error in your SQL syntax.
 
Also, mach bitte Folgendes:

Schreib unter die Zeile: VALUES ($forum_id, $group_id, $sql_value)";
Das hier: var_dump ($sql);

Mach das nun auch bei Zeile: AND forum_id IN ($delete_sql)";
Hier schreibst du: var_dump ($sql); exit;

Dann kopierst Du dir das was da ausgegeben wird (alles) und löschst wieder das was du eingefügt hast.

smiliejoe 09.02.2007 02:19:21

AW: SQL Error : 1064 You have an error in your SQL syntax.
 
ha genau das habe ich gebraucht. LOL das wusstest Du ;-)

also habe das gemacht und folgendes bekam ich.


SQL Error : 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 ') AND aa.group_id = ug.group_id AND aa.auth_mod = 1 GROUP BY ug.' at line 3

SELECT ug.user_id, COUNT(auth_mod) AS is_auth_mod FROM phpforum_auth_access aa, phpforum_user_group ug WHERE ug.user_id IN () AND aa.group_id = ug.group_id AND aa.auth_mod = 1 GROUP BY ug.user_id

Line : 534
File : admin_ug_auth.php



Also das irgendwie eine Group id fehlt weiß ich, ich kann auch eine Gruppe anlegen und denen dann rechte geben. bezüglich Moderieren.
aber dem einzelnen kann ich nicht eifach so rechte geben zu Moderieren...
Ich muss halt auch sagen dass, das phpbb an mein Portal gebunden ist. aber ich mir nicht vorstellen kann warum ich deswegen nicht auf auf die rechte zugreifen kann.
Ich kann ja im Adminpanel keinen mehr zum admin bestimmen das habe ich jetzt in der Datenbank manuell gemacht. aber das NERVT. :-)

vielen dank nochmal für eure hilfe

|Coding 09.02.2007 16:55:47

AW: SQL Error : 1064 You have an error in your SQL syntax.
 
also, dass problem ist wohl, das die vergleichsfunktion "IN" leer ist -> IN ()

wieso und weshalb, kann ich jetzt nicht prüfen. besser ist es, wenn du dich damit bei den leuten von denen das forum ist meldest, das ist ja deren kind und vielleicht haben das problem auch andere.

smiliejoe 09.02.2007 16:58:56

AW: SQL Error : 1064 You have an error in your SQL syntax.
 
ok vielen dank dann werd ich das tun. denn ich allein komm hier nicht weiter.


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:40:10 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.