Moppit: /mysql

Hi!

Folgende funktion einer Wrapper Klasse:

function insert($table, $fields = "", $values = "")
 {
  $sql_stat = "INSERT INTO $table ";

if (is_array($fields))
  {
      $theFields = implode(",", $fields);
        }

else
  {
      $theFields = $fields;
  }

if (is_array($values))
  {
      $theValues = "'".implode("','",$values)."'";
  }

else
  {
      $theValues = $values;
  }

$theValues = str_replace("'now()'", "now()", $theValues);

if (!empty($theFields)) $sql_stat .= "($theFields) ";
  $sql_stat .= "values ($theValues)";

@mysql_query($sql_stat) or $this->error($sql_stat,mysql_error(),mysql_errno());
 }

Könnte mir mal bitte jemand folgende Zeile erklären?

Danke

  1. Habe die Zeile vergessen:

    $theValues = str_replace("'now()'", "now()", $theValues);

    Danke

    1. Hi,

      Habe die Zeile vergessen:

      ja ist denn das zu fassen :-)

      $theValues = str_replace("'now()'", "now()", $theValues);

      Was genau hast Du, nachdem Du in der PHP-Doku unter der Funktion nachgeschlagen hast, nicht verstanden?

      Cheatah

      --
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. Hi,

        $theValues = str_replace("'now()'", "now()", $theValues);

        Was genau hast Du, nachdem Du in der PHP-Doku unter der Funktion nachgeschlagen hast, nicht verstanden?

        Was genau soll das: "'now()'"

        Danke

        1. Hi,

          Was genau soll das: "'now()'"

          das sind die Buchstaben "n", "o" und "w", gefolgt von einer öffnenden und einer schließenden runden Klammer, eingerahmt von zwei Singlequotes. Genau das soll es. Es hätte auch "hurzpurz" da stehen können, nur nehme ich einfach mal an, dass der Programmierer nicht wünschte, "hurzpurz" zu ersetzen, sondern "'now()'" bevorzugte.

          Cheatah

          --
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
          1. Ja,

            das ist lustig.
            :-)

            Warum die single aber von den double quotes eingerahmt sind verstehe ich aber immer noch nicht.

            Wenn ich z.B. in einer anderen Funktion eine Session ID erzeige und an diese Funktion übergebe kommt folgende Fehlermeldung:

            INSERT INTO besucher (sid) VALUES (PoDeHXbxpRvVtHdY)
            Unknown column 'PoDeHXbxpRvVtHdY' in 'field list'
            1054

            Die Systax ist doch richtig. In der Datenbank existiert die Spalte "sid" auch. Wo ist also das Problem?

            1. hi,

              INSERT INTO besucher (sid) VALUES (PoDeHXbxpRvVtHdY)
              Unknown column 'PoDeHXbxpRvVtHdY' in 'field list'
              1054
              Die Systax ist doch richtig. In der Datenbank existiert die Spalte "sid" auch. Wo ist also das Problem?

              ist PoDeHXbxpRvVtHdY eine von dir definierte konstante?
              wenn nicht, warum schreibst du dann etwas, was vermutlich ein string sein soll namen einer als konstante?

              gruss,
              wahsaga

    2. Hallo,

      $theValues = str_replace("'now()'", "now()", $theValues);

      In dem Wert der sich in $theValues befindet wird nach 'now() gesucht und durch now() ersetzt. Das ergebnis wir in $theValues abgelegt.

      Aber wie gesagt: In der Doku dazu, steht eigentlich alles drin!

      Tschau

      Tobias

      --
      http://www.tobiasklare.de
      fo:) ch:? rl:( br:^ n4:° ie:{ mo:) va:| fl:) ss:| ls:<
      Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
      Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
  2. Hi,

    Könnte mir mal bitte jemand folgende Zeile erklären?

    gerne:

    Danke

    Hiermit wird in der deutschen Sprache eine Form von Dankbarkeit ausgedrückt. Dies wird durch den Kontext mit PHP, MySQL oder dem zitierten Script nicht verändert.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      Könnte mir mal bitte jemand folgende Zeile erklären?
      gerne:
      Danke
      Hiermit wird in der deutschen Sprache eine Form von Dankbarkeit ausgedrückt. Dies wird durch den Kontext mit PHP, MySQL oder dem zitierten Script nicht verändert.

      ROFL!

      cu,
      Andreas

      --
      Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.
      http://mud-guard.de/? http://www.andreas-waechter.de/ http://www.helpers.de/
    2. Hiermit wird in der deutschen Sprache eine Form von Dankbarkeit ausgedrückt. Dies wird durch den Kontext mit PHP, MySQL oder dem zitierten Script nicht verändert.

      Beim nächsten Mal kanst Du mich vor Lachen von der Wand abkratzen! :-))

      Cu,
      Stefan

      1. Hi,

        Beim nächsten Mal kanst Du mich vor Lachen von der Wand abkratzen! :-))

        zum gegenwärtigen Zeitpunkt verspüre ich leider kein gesteigertes Interesse daran, abzukratzen ;-)

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes