php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.06.2005, 12:52  
Gast
 
Beiträge: n/a
Standard SQL Befehle in einer Tabelle speichern (=> Log/History)

Hallo,

ich habe nun schon fast 2 Stunden lang in Google gesucht, bin aber leider nicht fündig geworden.

Ziel: Ich möchte aufgerufene SQL Befehle in einer Tabelle speichern.. (MySQL)
Warum: Dient als Log/History
Problem: MySQL interpretiert die Befehle (die in $sql gespeichert sind)

=> ... "(INSERT INTO log (CMD) VALUES('".$sql."')";


Weiß jemand eine Lösung?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 28.06.2005, 12:58  
Gast
 
Beiträge: n/a
Standard

Ist ja logisch. Du solltest den String davor natürlich auch entwerten: addslashes()
Kannst ihn aber auch codieren. z.B. rawurlencode().
Was Dir lieber ist.
 
Alt 28.06.2005, 13:00  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mysql_real_escape_string()
übrigens unterhält mysql eigene logfiles; stellt sich halt die frage, ob du das rad wirklich neu erfinden musst.
axo ist offline  
Alt 28.06.2005, 13:01  
Gast
 
Beiträge: n/a
Standard

Ja sicher is mir das logisch, nur komm mal mit Google auf die Lösung.. quasi unmöglich.

Ich dank dir herzlichst!


Grüße

Sebastian
 
Alt 28.06.2005, 13:04  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

Zitat:
Zitat von sebbelxyz
Ja sicher is mir das logisch, nur komm mal mit Google auf die Lösung.. quasi unmöglich.

Ich dank dir herzlichst!


Grüße

Sebastian
also addslashes ist unterstes mysql-wissens-niveau im umgang mit php und mysql.
Du solltest vieleicht mal ein passendes Tutorial komplett durcharbeiten.
http://tut.php-q.net/mysql.html

mfg
robo47
robo47 ist offline  
Alt 28.06.2005, 13:13  
Gast
 
Beiträge: n/a
Standard

Nun ja, sicher ist es das. Den Link hab ich auch schonmal durchgearbeitet.. ich kam nur nich auf die Befehle.

Nebenbei.. warum klassifizieren die MySQL Entwickler den SQL-Parser nicht einfach so, das Zeichenketten innerhalb von '' nicht geparst werden... würde die komplette "Sicherheitslücke" schließen. (Denn wenn man als Ergebnis ein SQL Statement verwendet, für Texte zum Beispiel, benötigt man die sonst so notwendigen >'< nicht.)
 
Alt 28.06.2005, 14:06  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

weil andere konstrukte mit SQL sonst nicht funktionieren würden.
die welt ist größer als der spucknapf, in dem du dich befindest; die entwickler von mysql haben nicht schuld daran, dass du ein blutiger anfänger bist und datenbank-abfragen nicht selbst absichern kannst.

ergo:
mysql_real_escape_string() oder mysql_escape_string() verwenden ( addslashes() knicken und vergessen), und viele viele manuals und bücher durcharbeiten, bevor du wieder kritik an den softwareprodukten anderer ablassen darfst.
axo ist offline  
Alt 28.06.2005, 14:36  
Gast
 
Beiträge: n/a
Standard

Berechtigt dich meine Frage (keine Kritik!) zum niederen abstempeln meiner Selbst?

Btw. bevor du mich weiterhin als blutiger Anfänger darstellst.. ich programmiere schon seit 1994 in diversen Sprachen, beruflich und privat, (C/C++, Basic, Delphi, Java, usw..) und mein Beitrag war keine Kritik sondern eine Frage, warum das nicht möglich ist.
Ich habe damals persönlich, ich glaube (My)SQL stand noch in den Kinderschuhen, an einer eigenen Datenbank gearbeitet (PGDatabase). Diese war ähnlich aufgebaut wie MySQL und daher erlaube ich mir das Recht nachzufragen, was meiner Idee im Wege stehe.

Naja das hier wird ziemlich Offtopic.., ich danke dennoch für die Hinweise und wünsche allen weiterhin einen wunderschönen sonnigen Dienstag.
 
Alt 28.06.2005, 14:40  
Erfahrener Benutzer
 
Registriert seit: 27.10.2003
Beiträge: 530
Thice
Standard

Den sonnigen Dienstag hab ich hier... *schwitz*

Woher soll MySQL denn wissen was denn nun zu deinem "Insert-Wert" gehört und was nicht? Dein geloggter String kann ja genauso Ticks enthalten, wie der eigentliche Query.

MfG
Andy
__________________
kintzebros.de | KintzeBros Home Entertainment
2061. Nach dem Frieden | kurzfilm
Paula | spielfilm
Thice ist offline  
Alt 28.06.2005, 22:30  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von sebbelxyz
Berechtigt dich meine Frage (keine Kritik!) zum niederen abstempeln meiner Selbst?
ja, durchaus, du hast aber bereits mit der problemstellung ins klo gegriffen - die letzte frage war dann nur noch das sahnehäubchen.
Zitat:
Btw. bevor du mich weiterhin als blutiger Anfänger darstellst.. ich programmiere schon seit 1994 in diversen Sprachen, beruflich und privat, (C/C++, Basic, Delphi, Java, usw..) und mein Beitrag war keine Kritik sondern eine Frage, warum das nicht möglich ist.
wenn du nach 11 jahren immer noch nicht weißt, was RTFM bedeutet, tut's mir echt leid.

Zitat:
Ich habe damals persönlich, ich glaube (My)SQL stand noch in den Kinderschuhen, an einer eigenen Datenbank gearbeitet (PGDatabase). Diese war ähnlich aufgebaut wie MySQL und daher erlaube ich mir das Recht nachzufragen, was meiner Idee im Wege stehe.
in diesem fall verstehe ich dann gar nicht mehr, wie du überhaupt auf die idee kommst, überhaupt manuell queries zu loggen - und nicht beispielsweise mal nachschaust, ob mysql das ganze eh schon macht.

Zitat:
Naja das hier wird ziemlich Offtopic.., ich danke dennoch für die Hinweise und wünsche allen weiterhin einen wunderschönen sonnigen Dienstag.
danke, war bewölkt und schwül. ein dreckstag zum programmieren.
axo ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Arraywerte in DB Tabelle speichern Matthiasnet PHP Tipps 2007 6 16.03.2007 19:44
Ergebnisse einer Abfrage in Tabelle speichern PsychoEagle Datenbanken 0 21.09.2006 15:59
Variable in Tabelle speichern Unkaputtbar2 Datenbanken 5 21.07.2006 13:00
Daten über Formular eingeben und in Tabelle speichern. WIE? PHP Tipps 2006 20 10.02.2006 16:04
Problem mit Anzeige einer Tabelle mit dem Firefox? HTML, Usability und Barrierefreiheit 8 28.11.2005 15:08
werte einer tabelle in andere tabelle speichern high_scorer Datenbanken 3 30.09.2005 16:28
[Erledigt] Problem mit mySQL Datenbanken 7 27.09.2005 12:06
[Erledigt] mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert Datenbanken 2 08.09.2005 11:59
[Erledigt] Drop Down auswahl in tabelle speichern PHP Tipps 2005-2 6 10.08.2005 16:36
[Erledigt] speichern in Tabelle Datenbanken 4 10.06.2005 22:54
Tabelle in Tabelle ausrichten HTML, Usability und Barrierefreiheit 7 03.01.2005 14:32
Werte in Tabelle änder und in DB speichern PHP Tipps 2004-2 5 17.12.2004 22:11
Formular in Mysql Datenbank speichern Anuschka Datenbanken 1 15.08.2004 02:55
[Erledigt] In MySQL Tabelle speichern Datenbanken 7 12.08.2004 16:28
HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql befehle loggen, sql befehle log, sql history log, sql befehl in tabelle speichern, mysql sql befehle loggen, sql befehle übersicht, http://www.php.de/php-tipps-2005-2/25611-sql-befehle-einer-tabelle-speichern-log-history.html, sql history, mysql sql history, sql befehl in datenbank speichern, sql befehle speichern, sql befehl tabelle speichern, php sql befehle loggen, sql befehl history, mysql sqlbefehle loggen, mysql befehle in tabelle speichern, zend framework sql befehle anzeigen, sql befehle history, sql server 2005 history log, mysql befehle protokollieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:39 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.