PHP in Datenbank speichern und auslesen

Hallo Programmierer,

wie kann man PHP Skripts in der Mysql Datenbank via PDO Verknüpfung speichern und auch wieder auslesen?
Die Methode sollte auch schnelles auslesen erlauben und (Hacker) sicher sein.

Besten Dank für gute Lsgen :wink:

Hallo,

magst du vielleicht etwas ausführlicher erzählen, was du vorhast? PDO ist erstmal nichts weiter als eine Schnittstelle, um mit PHP auf Daten zuzugreifen. Es ist nicht üblich, die PHP-Skripte in der Datenbank zu speichern. Es wäre auch kontraproduktiv, Skripte in der Datenbank zu speichern, um mit anderen Akripten darauf zuzugreifen.

Gruß
Christa

Hallo Christa,

gerne.
Meine Aufgabe ist es PHP Skript in einer Datenbank zu speichern.
Hier kurz beschrieben das Query:
UPDATE table SET php_skript=$script WHERE page='example-page’

$script = „<?php echo"Hallo das ist ein php Skript"; ?>Text<?php echo"php skript 2"; ?>“;

Es soll sich in der Datenbank speichern & abrufen lassen.

Hallo nochmal,

mich erschließt sich immer noch nicht der Sinn des Speicherns von PHP-Skripten in der Datenbank. Ist das nur Beschäftigungstherapie? Wie gesagt, aus der Praxis kenne ich das absolut nicht. Üblicherweise wird PHP dafür benutzt, um auf eine Datenbank zuzugreifen.
Mir ist auch nicht ganz klar, wo es bei dir gerade hapert.

Skripte so zu schreiben, wie du das in $skript gemacht hast, ist auch nicht die feine englische Art, also die PHP-Datei in viele kleine PHP-Bereiche zu zerstückeln, das nur so nebenbei.

Wie man allgemein Daten einfügt, auch mit PDO, ist z. B. hier beschrieben:

Hier findest du einiges dazu, wie man in die Datenbank geschriebenen PHP-Code wieder ausliest:
http://www.selfphp.de/forum/showthread.php?t=3365

Gruß
Christa

Liebe Christa,

Danke für den Tipp. Versteh dich.
Ich hab die Aufgabe bekommen und muss Sie lösen.

Das Problem liegt beim Speichern nach dem speichern ändert sich der Text von:
$script = „<?php echo"Hallo das ist ein php Skript"; ?>Text<?php echo"php skript 2"; ?>“;

zu

$script = „<?php echo\"Hallo das ist ein php Skript\"; ?>Text<?php echo\"php skript 2\"; ?>“;
Anscheinend gibt es eine slash Funktion, welche man vll umgehen kann?

Hallo,

es gibt keine Slash-Funktion, der Backslash ist das Maskierungszeichen für Anführungszeichen und ein paar anderen Zeichen, die auch in PHP eine Bedeutung haben, unter anderem der Punkt.

Du musst nur beim Auslesen die Backslashes wieder entfernen, würde ich jetzt mal so pauschal sagen. Wobei du sie eigentlich schon beim Reinschreiben in die Datenbank mit dem Backslash maskieren müsstest.

Also
$script = „<?php echo \"Hallo das ist ein php Skript\"; ?>Text<?php echo \"php skript 2\"; ?>“;
(nach echo gehört übrigens, wie nach jedem PHP-Befehl, auch ein Leerzeichen. Ich weiß, dass es auch ohne Leerzeichen funktioniert, dennoch ist es syntaktisch nicht korrekt, dass Leerzeichen wegzulassen).

Liebe Christa,

Danke für die AW. Es hat toll funktioniert ich hab den Schönheitsfehler, sowie du gesagt hat mit ersetzen gelöst: str_replace(’"’, ‚"‘, $variable);

Wenn ich jetzt noch die Frage bekomme ob es sicher ist, die Daten so zu speichern & auszulesen, was würdest du sagen?

Gegenfrage: Was würdest Du denn sagen? Schließlich ist es ja wohl Deine Aufgabe…

Sebastian AKA Bobby Tables

1 Like

hahaha, kannte ich noch nicht, danke!

Ich würde sagen solange kein Passwort gespeichert wird ist es sicher.
Stimmt`s?

Leider nicht.

Das würde ich nicht sagen.

Den Wink mit „Bobby Tables“ hast Du nicht verfolgt …?

Danke jetzt hab ich die Bobby Tables verfolgt.

Wieso wird dann jedes herkömmliche CMS (Joomla, Wordpress,…) in solchen Tabellen gespeichert?
Bsp: http://www.mobilefish.com/services/eval_gzinflate_base64/eval_gzinflate_base64.php

Was für welche denn?

Danke für die Frage.

Es wird gezeigt das Eval gzip base 64 verwendet wird, in wordpress, joomla,…

Hier ist zBsp: ein Suchergebnis in Google mit der Anwendung:
http://bit.ly/2l6XCWB

Ist es daher sicher oder unsicher?