mysql_fetch_array
skipper6340
- php
0 skipper63400 Tom
0 dedlfix
Hallo zusammen, wieder mal ich!
Ich mache mit PHP auf mySQL ein Datenbankabfrage:
$sql = "SELECT * FROM genesis_tracking_template where template_id = (SELECT max( template_id ) FROM `genesis_tracking_template`)";
$db_erg = mysql_query( $sql );
und der Inhalt der/des Attributes ist ein XML Teil:
INSERT INTO genesis_tracking_template VALUES (NULL,
'<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>MSY Genesis</name>
<Style id="point">
<IconStyle>
<Icon>
<href>http://labs.google.com/ridefinder/images/mm_20_blue.png</href>
</Icon>
</IconStyle>
</Style>
<Style id="style">
<LineStyle>
.....
.....
.....
.....
aber der Query gibt mir nur einen kleinen Teil vom Anfnag zurück:
"MSY Genesis %placemarks% MSY Genesis #style 1 absolute %placemark_coordinates%"
Was muss ich anpassen damit der komplette XML String gelesen wird?
Im XML Template gibt es Platzhalter wie z.B. %placemark_name% die dann durch die gewünschten Werte ersetzt werden. Evtl. machen die Platzhalter das Problem.
Ziel soll es sein ein XML File auf dem Server abzulegen das dann abgerufen werden kann.
Danke und Ciao skipper6340
Hallo zusammen, wieder mal ich!
Ich mache mit PHP auf mySQL ein Datenbankabfrage:
$sql = "SELECT * FROM genesis_tracking_template where template_id = (SELECT max( template_id ) FROM genesis_tracking_template
)";
$db_erg = mysql_query( $sql );
>
> und der Inhalt der/des Attributes ist ein XML Teil:
>
> ~~~xml
INSERT INTO genesis_tracking_template VALUES (NULL,
> '<?xml version="1.0" encoding="UTF-8"?>
> <kml xmlns="http://www.opengis.net/kml/2.2">
> <Document>
> <name>MSY Genesis</name>
> <Style id="point">
> <IconStyle>
> <Icon>
> <href>http://labs.google.com/ridefinder/images/mm_20_blue.png</href>
> </Icon>
> </IconStyle>
> </Style>
> <Style id="style">
> <LineStyle>
> .....
> .....
> .....
> .....
>
aber der Query gibt mir nur einen kleinen Teil vom Anfnag zurück:
"MSY Genesis %placemarks% MSY Genesis #style 1 absolute %placemark_coordinates%"
Was muss ich anpassen damit der komplette XML String gelesen wird?
Im XML Template gibt es Platzhalter wie z.B. %placemark_name% die dann durch die gewünschten Werte ersetzt werden. Evtl. machen die Platzhalter das Problem.
Ziel soll es sein ein XML File auf dem Server abzulegen das dann abgerufen werden kann.
Danke und Ciao skipper6340
Die grundlegende Frage IST, warum bringt der Query nicht genau das zurück was in der Datenbank ist!
Wollte ich nochmal genauer spezifizieren!
Ciao skipper6340
Hello,
Die grundlegende Frage IST, warum bringt der Query nicht genau das zurück was in der Datenbank ist!
Woher weißt Du denn, was wirklich in der Datenbank steht?
Einen Fehler hast Du schon beim Eintragen gemacht:
Du benutzt die Testschnitttstelle zum eintragen, hast aber das Escaping des Wertes vergessen.
mysql_real_escape_string() (in deinem Fall) oder besser mysqli_real_escape_string(), wenn Du die MySQL-I-Funktionen benutzt, sollte da eigentlich schon helfen.
Und dann sollte beim Datenholen auch das wieder rauskommen, was Du _glaubst_, weggeschrieben zu haben.
siehe auch http://wiki.selfhtml.org/wiki/Artikel:Kontextwechsel
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello,
Du benutzt die Testschnitttstelle zum eintragen, hast aber das Escaping des Wertes vergessen.
Das sollte Textschnittstelle heißen.
^
Nur zur Klarstellung ;-P
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hello,
Du benutzt die Testschnitttstelle zum eintragen, hast aber das Escaping des Wertes vergessen.
Das sollte Textschnittstelle heißen.
^Nur zur Klarstellung ;-P
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Tol, Danke; ... aber was soll ich jetzt machen?
Tol, Danke; ... aber was soll ich jetzt machen?
hatte ich Dir schon geschreiben:
1. feststellen, ob der gewünschte Text wirklich in der Datenbank steht,
zumindest von der Zeichnzahl oder Bytelänge (Multibytecodierungen beachten!)
2. Beim Wegschreiben der Daten das richtige Escaping beachten
http://de2.php.net/manual/en/function.mysql-real-escape-string.php
3. Bei der Wiedergabe der Daten (per Browser) die passende Kontextbehandlung
beachten, je nachdem, was Du sehen willst (HTML interpretiert, HTML als Text angezeigt)
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Danke erstmal werde das alles prüfen und mich wieder melden. Ciao skipper6340
Hi!
Ich mache mit PHP auf mySQL ein Datenbankabfrage:
und der Inhalt der/des Attributes ist ein XML Teil:
aber der Query gibt mir nur einen kleinen Teil vom Anfnag zurück:
"MSY Genesis %placemarks% MSY Genesis #style 1 absolute %placemark_coordinates%"
Ist das eine Kontrollausgabe über den Browser? Dann ist der Rest vermutlich weginterpretiert. Siehe Quelltextansicht des Browsers.
Was muss ich anpassen damit der komplette XML String gelesen wird?
Wie genau hast du überprüft, dass du nur einen Teil bekommst? Hast du dir Stringlängen vom Wert im DBMS und den nach der Abfrage ermitteln lassen?
Im XML Template gibt es Platzhalter wie z.B. %placemark_name% die dann durch die gewünschten Werte ersetzt werden. Evtl. machen die Platzhalter das Problem.
Wenn du den Kontextwechsel beachtest, bekommst du mit keinen Zeichen irgendwelche Probleme.
Lo!