flo: Varialbe in SQL abspeichern und auslesen

Hallo!
Ich benötige, dass meine Datenbank dynamische Felder beinhaltet.

Wie kann ich Variablen in sql abspeichern, dass ich diese in der jeweiligen Session gespeicherte php-Variable ersetzen/auslesen kann.

z.B.:
(schematisch) in  sql gespeichert:

  
INSERT INTO x.'text'  
('selbst')  
VALUES ('Ich bins, der $name !');  

In der php file soll dann zB $name den Wert 'Hansl' erhalten, weil Hans seinen Namen eingegeben hatte.

Ausgabe sollte natürlich sein:
Ich bins, der Hansl!

  1. Hi,

    Ich benötige, dass meine Datenbank dynamische Felder beinhaltet.

    Was genau meinst du damit?

    z.B.:
    (schematisch) in  sql gespeichert:

    INSERT INTO x.'text'
    ('selbst')
    VALUES ('Ich bins, der $name !');

    
    >   
    > In der php file soll dann zB $name den Wert 'Hansl' erhalten, weil Hans seinen Namen eingegeben hatte.  
      
    Aha, du willst also das in dem Textinhalt, den du aus der Datenbank ausliest, bestimmte Platzhalter ersetzt werden.  
      
    Dazu sind verschiedene Ansätze denkbar. Neben der Interpretation des Textes als PHP-Code (i.a.R. nicht empfehlenswert) auch Suchen-Ersetzen mit gängigen Zeichenkettenfunktionen.  
      
    MfG ChrisB  
      
    
    -- 
    „This is the author's opinion, not necessarily that of Starbucks.“
    
    1. Dazu sind verschiedene Ansätze denkbar. Neben der Interpretation des Textes als PHP-Code (i.a.R. nicht empfehlenswert)

      Ja, SQL direkt als PHP-Code zu interpretieren ist schon eine Sicherheitslücke; aber ich glaube es ist eine schnelle und einfache Methode die gewünschte Funktionalität zu erhalten.
      Das wäre auf jeden Fall meine Idee gewesen. Wie kann man das denn umsetzen?

      auch Suchen-Ersetzen mit gängigen Zeichenkettenfunktionen.

      Suchen und ersetzen stelle ich mir da schon etwas aufwändiger vor. Vor allem weil man ja immer mit Arrays herumhantieren muss.

      1. Hallo,

        » Dazu sind verschiedene Ansätze denkbar. Neben der Interpretation des Textes als PHP-Code (i.a.R. nicht empfehlenswert)

        Ja, SQL direkt als PHP-Code zu interpretieren ist schon eine Sicherheitslücke; aber ich glaube es ist eine schnelle und einfache Methode die gewünschte Funktionalität zu erhalten.
        Das wäre auf jeden Fall meine Idee gewesen. Wie kann man das denn umsetzen?

        es ist evil.

        » auch Suchen-Ersetzen mit gängigen Zeichenkettenfunktionen.
        Suchen und ersetzen stelle ich mir da schon etwas aufwändiger vor. Vor allem weil man ja immer mit Arrays herumhantieren muss.

        Aufwendiger? Viel einfacher, viel sicherer! Warum willst Du Dich auf die unsichere Seite begeben?

        Freundliche Grüße

        Vinzenz

        1. Ja, ich geb euch recht!

          »» Ja, SQL direkt als PHP-Code zu interpretieren ist schon eine Sicherheitslücke; aber ich glaube es ist eine schnelle und einfache Methode die gewünschte Funktionalität zu erhalten.
          »» Das wäre auf jeden Fall meine Idee gewesen. Wie kann man das denn umsetzen?

          es ist evil.

          :) ja stimmt,

          Aufwendiger? Viel einfacher, viel sicherer! Warum willst Du Dich auf die unsichere Seite begeben?

          ich habs mir auch grad überlegt, selbst wenn nicht viele Leute auf die Datenbank Zugriff haben wäre es noch immer "evil".

          Deshalb wende ich mich wieder von der dunklen Seite von php ab und habe die Lösung mit dem Ersetzen gewählt.

          $replaceArray ist mein Array mit den Ersetzungesvariablen

            
          while($result = mysql_fetch_assoc(getTextbyWeb($web))) {  
            
          $ausgabe = str_replace(array_keys($replaceArray), array_values($replaceArray),$result[textfield]);  
            
          echo $ausgabe;  
          
          

          Den Codeschnippsl lasse ich jetzt durch das SQL Array laufen mit der while Schleife. Fällt euch vielleicht eine bessere/elegantere Umsetzung ein?

          1. echo $begrüßung;

            $ausgabe = str_replace(array_keys($replaceArray), array_values($replaceArray),$result[textfield]);
            Fällt euch vielleicht eine bessere/elegantere Umsetzung ein?

            Ja, strtr() in der zweiten Variante.

            echo "$verabschiedung $name";