jens65m: PHP, $sql -String

Ich möchte folgendes realisieren:

$sql = "SELECT *
       FROM tabelle
       WHERE x = '$test'";
[...]

$sql = str_replace("WHERE x = '$test'", "WHERE y = '$test'", $sql);
                                                      /\ Allerdings soll die zweite Variable-------------------|
nicht eingesetzt werden, sondern die Variable erhalten bleiben.

Wie kann ich das machen?
Lg,

  1. Hallo,

    $sql = str_replace("WHERE x = '$test'", "WHERE y = '$test'", $sql);
                                                          /\ Allerdings soll die zweite Variable-------------------|
    nicht eingesetzt werden, sondern die Variable erhalten bleiben.

    Ich hoffe ich verstehe, was du meinst. Du willst also, dass beim 2. Nicht der Wert von $test da steht, sondern die Zeichenfolge $ t e s t - richtig?

    Dann mache es so:
    $sql = str_replace("WHERE x = '$test'", 'WHERE y = '$test'', $sql);
                                            __         __      ____

    Durch ' wird ein Einsetzen verhindert.

    Gruß
    Alex

    1. nene,
      ich wollt eigentlich, dass str_replace nicht gleich den Wert der Variable einsetzt, sondern die Variable. Und diese dann erst im sql-Befehl eingefügt wird.
      lg

      1. Hello,

        ich wollt eigentlich, dass str_replace nicht gleich den Wert der Variable einsetzt, sondern die Variable. Und diese dann erst im sql-Befehl eingefügt wird.

        Wie wäre es, wenn Du ein Funktion dafür schreibst?
        Dieser übergibst Du dann die Variablen und dann werden sie erst während der Laufzeit eingesetzt.

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

        --
         ☻_
        /▌
        / \ Nur selber lernen macht schlau
        http://bergpost.annerschbarrich.de
  2. Hi!

    $sql = str_replace("WHERE x = '$test'", "WHERE y = '$test'", $sql);
                                                          /\ Allerdings soll die zweite Variable-------------------|
    nicht eingesetzt werden, sondern die Variable erhalten bleiben.
    Wie kann ich das machen?

    Lies im Kapitel über Strings nach, wie sich ein $ wörtlich in einem ""-String einfügen lässt.

    Bist du sicher, dass du im ersten Fall den Inhalt der Variablen $test einfach so in den Query-Teil-String einfügen willst, ohne augenscheinlich den Kontext "String im SQL-Statement" zu berücksichtigen?

    Lo!