Anführungszeichen in Feld Type Longtext schreiben ?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Anführungszeichen in Feld Type Longtext schreiben ?

    Hi Leute !

    Ich versuche krampfhaft einen String in ein Longtextfeld zu schreiben der Anführungszeichen enthält. Habe auch brav die Escape Zeichen davor gesetzt.
    Was passiert ? Nicht viel, der String wird bis zum 1. Anführungszeichen geschrieben und dann ist Sense !

    Habe leider keine Idee warum das nicht geht.
    Hier die var:
    Code:
    $url = "<a href=\"javascript:;\" onMouseUp=\"MM_openBrWindow('unternehmen/entwicklung_innen_set/action_innen_set.html','wbDeuEng','scrollbars=yes,resizable=yes,width=600,height=500')\" class=\"fett2\">Unternehmen - Entwicklung</a>";
    Kennt das Prob jemand ?

    Grüße
    Tellux

  • #2
    Tabelle
    Code:
    mysql> describe test;
    +-------+----------+------+-----+---------+-------+
    | Field | Type     | Null | Key | Default | Extra |
    +-------+----------+------+-----+---------+-------+
    | a     | longtext | YES  |     | NULL    |       |
    +-------+----------+------+-----+---------+-------+
    1 row in set (0.49 sec)
    Insert (Vor den Single Hochkomma muß ein Backslash gesetzt werden beim nachfolgenden Skript muß das Blank zwischen \ und ' weg, es geht nicht besser posten, sonst wird der \ geschluckt)
    PHP-Code:
    <?
    $url = "<a href=\"java script:;\" onMouseUp=\"MM_openBrWindow(\\ 'unternehmen/entwicklung_innen_set/action_innen_set.html\\ ',\\ 'wbDeuEng\\ ',\\ 'scrollbars=yes,resizable=yes,width=600,height=500\\ ')\" class=\"fett2\">Unternehmen - Entwicklung</a>";

    function mysql_die($msg) {
         echo "<b>$msg =&gt;  mysql-error: ".mysql_errno().":".mysql_error()."</b><br>\n";
    }


        $verbindung   = mysql_connect("localhost","","") or mysql_die("Keine SQL-Verbindung");
        mysql_select_db("test", $verbindung) or mysql_die("Datenbank konnte nicht ausgewählt werden");

        $query = "insert into tabelle values ('$url')";
        
        mysql_db_query("test",$query,$verbindung) or mysql_die("Insert?");
        
        echo "fertig";

    ?>
    Ergebnis
    Code:
    mysql> select * from test;
    +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | a                                                                                                                                                                                                                         |
    +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | <a href="java script:;" onMouseUp="MM_openBrWindow('unternehmen/entwicklung_innen_set/action_innen_set.html','wbDeuEng','scrollbars=yes,resizable=yes,width=600,height=500')" class="fett2">Unternehmen - Entwicklung</a> |
    +---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.27 sec)
    Zuletzt geändert von hand; 01.04.2002, 22:19.

    Kommentar


    • #3
      Danke für die Antwort. Prob besteht leider weiterhin.
      Wenn ich testweise das erste Anfuehrungszeichen lösche wird alles ok in das Feld geschrieben aber nur bis zum nächsten "
      Bis zu den Single Hochkomma's kommt der gar nicht erst.
      Ich hab da aber gerade was gefunden:

      Wenn Sie Binärdaten direkt in ein BLOB-Feld schreiben, müssen Sie die folgenden Zeichen als Escape-Sequenz (mit \ vorangestellt) angeben:
      - NUL (ASCII 0)
      - \ (ASCII 92)
      - ' (ASCII 39)
      - " (ASCII 34)

      Alle Tests schlugen aber fehl. Es wird immer nur der String geschrieben und nicht das "
      Ist leider kein Bsp. für die richtige Syntax dabei.

      Wie geht das ?
      $url = "<a href=\(ASCII 34)javascript:;........;
      oder so ähnlich ?????

      Kommentar

      Lädt...
      X