anpera.net https://anpera.homeip.net/phpbb3/ |
|
MySQL Insert' schiebt Mucken. https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=5158 |
Seite 1 von 1 |
Autor: | MySql [ Di 25 Mai, 2010 02:54 ] |
Betreff des Beitrags: | MySQL Insert' schiebt Mucken. |
Guten Morgen [?], ich habe heute neben dem normalen Chatsystem und den YoM's noch einen "QuickChat" eingefügt. Dieser basiert auf Ajax und ermöglicht den Usern ein schnelles kommunizieren untereinander. Allerdings habe ich nun ein kleines Problem. Und zwar habe ich im Chatsystem (Im normalen (add- u. viewcommentary)) noch ein paar Eingabe-Funktionen eingefügt. Die Logs werden wie gewollt als Pop-Div-Layer angezeigt. Nur habe ich Probleme mit dem Löschen des Chatverhaltens. Ich habe: $this->bbcode_second_pass_code('', 'else if( $mySpliter[1] == 'clear' OR $mySpliter[1] == 'del' OR $mySpliter[1] == 'delete' ) { $save_query = db_query('SELECT * FROM chat WHERE ( chat.to="'.$session['user']['login'].'" ) '); if( db_num_rows($save_query) > 0 ) { while( $row = db_fetch_assoc($save_query) ) { db_query('INSERT INTO chat_backup (from,to,message,sent) VALUES ("'.$row['to'].'","'.$row['from'].'","'.$row['message'].'","'.$row['sent'].'")'); } } $save_query = db_query('SELECT * FROM chat WHERE ( chat.from="'.$session['user']['login'].'" ) '); if( db_num_rows($save_query) == 0 ) { while( $row = db_fetch_assoc($save_query) ) { db_query('INSERT INTO chat_backup (from,to,message,sent) VALUES ("'.$row['to'].'","'.$row['from'].'","'.$row['message'].'","'.$row['sent'].'")'); } } db_query('DELETE FROM chat WHERE ( chat.to="'.$session['user']['login'].'" )'); db_query('DELETE FROM chat WHERE ( chat.from="'.$session['user']['login'].'" )'); }') Und beim erstellen der Backup Daten, wirft er mir eine Fehlerseite aus: $this->bbcode_second_pass_code('', 'INSERT INTO chat_backup (from,to,message,sent) VALUES ("Joel","ADMIN","*test*","2010-05-25 03:43:55") 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 'from,to,message,sent) VALUES ("Joel","ADMIN","*test*","2010-05-25 ' at line 1') Durch ein paar Tests weiß ich mittlerweile, dass die zweite Insert-Abfrage diesen Fehler verursacht. Allerdings weiß ich nicht wieso. Die erste Abfrage klappt ja auch wie gewollt.. $this->bbcode_second_pass_code('', 'db_query('DELETE FROM chat WHERE ( chat.from="'.$session['user']['login'].'" )');') Nein, kein Fehler. - InnoDB. Freue mich über Antworten. ![]() My. Edit: Okay, musste es in den Insert's auch anders formulieren.. $this->bbcode_second_pass_code('', '(chat_backup.from,chat_backup.to,chat_backup.message,chat_backup.sent)') Und noch ein wenig was anderes abändern.. |
Autor: | Chaos [ Di 25 Mai, 2010 15:35 ] |
Betreff des Beitrags: | Re: MySQL Insert' schiebt Mucken. |
ok musste lange überlegen aber ich denke ich hab den fehler, ich denk es liegt an der spalte "from" weil from in mysql ein keywort ist verursacht es ein fehler. Also enwteder spaltennamen ändern oder so: $this->bbcode_second_pass_code('', 'db_query('DELETE FROM `chat` WHERE ( `from`="'.$session['user']['login'].'" )');') |
Autor: | Auric [ Di 25 Mai, 2010 16:10 ] |
Betreff des Beitrags: | Re: MySQL Insert' schiebt Mucken. |
Warum genau klammerst du noch mal die einzelne WHERE-Bedingung? |
Autor: | Chaos [ Di 25 Mai, 2010 16:19 ] |
Betreff des Beitrags: | Re: MySQL Insert' schiebt Mucken. |
ich nehm an die frage geht an mysql? Ich habs nur so von seiner version übernommen und das geändert was den fehler verursacht hat. |
Autor: | Kevz [ Di 25 Mai, 2010 17:03 ] |
Betreff des Beitrags: | Re: MySQL Insert' schiebt Mucken. |
Auric hat geschrieben: Warum genau klammerst du noch mal die einzelne WHERE-Bedingung? Deswegen war ich bereits auch irritiert. Ich kenne das so nicht, mit dem Löschen. |
Autor: | MySql [ Di 25 Mai, 2010 17:25 ] |
Betreff des Beitrags: | Re: MySQL Insert' schiebt Mucken. |
Ich hatte das mal irgendwo gelesen. Deshalb dachte ich man müsste das genau so machen. Wenn ich das gerade richtig verstehe, ist das irgendwie falsch? Chaos, danke. Hatte es allerdings heute morgen noch hinbekommen. ![]() Der Query zum löschen war auch nur ein vergleich wegen der InnoDB. Steht ja drunter.. |
Autor: | Tidus [ Di 25 Mai, 2010 19:01 ] |
Betreff des Beitrags: | Re: MySQL Insert' schiebt Mucken. |
Naja falsch ist es nicht, aber Klammern sind eigentlich nur dann Notwendig um mehrere Bedingungen oder so zusammen zu fassen^^ |
Autor: | Eliwood [ Mi 26 Mai, 2010 09:02 ] |
Betreff des Beitrags: | Re: MySQL Insert' schiebt Mucken. |
Ich frage mich tatsächlich, was das wegen InnoDB sollte. InnoDB ändert nichts an der SQL-Syntax, allerhöchstens wird sie ergänzt bzw. um manche Funktionen verkleinert (Volltext-Suche). |
Autor: | MySql [ Mi 26 Mai, 2010 13:19 ] |
Betreff des Beitrags: | Re: MySQL Insert' schiebt Mucken. |
Dann hab ich es damals falsch verstanden. :p Kann ja mal passieren. Nun habe ich wieder etwas dazu gelernt. (: |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |