Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

datensätze mit Ausführungszeichen wiederverwenden??





Frage

hallo... ich lese aus einer db in einem datenfeld datensätze aus, die zu 10% ein " enthalten... da ich die seite mit php so gestaltet habe das sie sich selbst aufruft(php_self), und diesen datensatz an sich selbst übergibt, um mehrer datensätze durchzublättern...gibt es in 90% kein problem..aber wenn z.b. in der db sowas wie "Kirche";Gebäude;Stasse steht schreibt php selbst in die variable zwei backslashe rein also... \"Kirche\";Gebäude;Strasse wenn sich beim blättern auf der seite diese variante in der variablen befindet, sucht er natürlich in der db vergebens... wie kann ich die \ wieder entfernen.. sodass die variable im orginalzustand bleibt und er di db auch danach absucht????

Antwort 1 von Nessus

Hi,

bei der Ausgabe "ereg_replace" verwenden.
http://de2.php.net/manual/de/function.ereg-replace.php
HTH

Nessus

Antwort 2 von raben.lazarus

jo das ist ne idee..

habs mal so probiert..

$suw=ereg_replace("\", "", $zeichenkette);

dann kommt allerdings..

Parse error: parse error, unexpected '\"' in C:\FoxServ\www\wandmalereien1\php\maldetails.php on line 14


Antwort 3 von raben.lazarus

ups ich habs danke schön

$suw=ereg_replace("[\]","", $suw);



Antwort 4 von muevol

Hi,

die Funktion stripslashes() ist einfacher

Antwort 5 von raben.lazarus

stimmt super geht auch....

llerdings funktioniert mein weiterblättern noch nicht...
in der variable steht jetzt zwar "Kirche";....
aber irgendwas mit der sql abfrage stimmt nicht, wenn ich die seite neu aufrufe bzw umblätter ist die variable leer...hmm

Antwort 6 von Nessus

Wenn die Var leer ist, dürftest Du ohne eine genauere Betrachtung ein kleineres Problem mit register_globals haben.

Nessus

Antwort 7 von raben.lazarus

hmm aha..
das bedeutet ??
(ich such nebenbei schon ;-))

Antwort 8 von raben.lazarus

hm, ok klar ich benutze natürlich
$HTTP_POST_VARS[];

aber das wir uns richtig verstehen...
(steht auch oben) nur bei ca. 10% der daten passiert das... und zwar denen die ein Anführungszeichen haben bei den anderen 90% gibt es kein problem...


Antwort 9 von Nessus

Dann hast Du die oben angegebenen Antworten falsch eingesetzt, oder ich habe was falsch verstanden.
Was mich wundert, das Du mit solchen Datensätzen arbeitest. Wäre da nicht der bessere Angriffspunkt?

Nessus

Antwort 10 von raben.lazarus

leider nein ist eine bestehende db(aus access konvertiert) mit
über 90.000 einträgen in verschiedenen tabellen... und (denn die frage hab ich den verantworlichen auch schon gestellt) die anführungszeichen sollen bleiben :-(

stell die vor du machst ne sql abfrage in einer "phpseite" ind der am ende steht...
WHERE tblBild.Stichwort='$suw'";
die ergebnisse werden in arrays abgespeichert... irgenwo auf der seite gibt es einen vor und einen zurück knopf und die "durchblättern" das array...
so das alle gefundenen datensätze nacheinander angezeigt werden...

wie gesagt klappt wunderbar...
bis auf die datensätze die anführungszeichen haben
z.b. "Kirche";Gebäude;St...
wenn da nur steht Gebäude;Strasse..etc
gibt es kein prob!

Antwort 11 von semi

Ich habe mal probeweise einen Datensatz mit Anführungszeichen erstellt.

"Test"

die folgenden Abfragen lieferten den Datensatz korrekt.
SELECT ... WHERE name='"Test"'
SELECT ... WHERE name='\"Test\"'
Wenn es für Dich mehr ein Anzeigeproblem ist, dann verwende, wie muevol schon schrieb, stripslashes beim Speichern?

Gruß,
Michael

Antwort 12 von pcknowhower

Gelöscht wg.HP-Eigenwerbung/Spamming

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: