开发者

MYSQL fetch a xml string, without converting/interpreting

Simple requirement: I want to store a flat unchanged XML strings into a MySQL-DB and then fetch the string itself via php with the tags (i.e. <tag>1234</tag>).

Problem: When I fetch the string, I get the values not the entire XML string.

I store <tag>1243</tag> (done via PHPmyAdmin) then I fetch (see code below) and echo the result I get 1234 not <tag>1234</tag>.

$query = "SELECT * FROM  " . $my_table_with_flat_xml_string;
$result = mysql_query($query);
while($row = mysql开发者_Python百科_fetch_array($result)){
  $xml_flat_file_with_the_tags_please = $row[0];
  echo " ( " . $tags. ")";
}

Help!


The String fetched from the database is <tag>1234</tag> as you put it into the database. MySQL does not interpret or parse XML input as long as you don't tell it to.

But you only echo it without escaping the < and >-chars, so your browser thinks, this would be a HTML-Element.

You can use something like the var_dump()-function to print out your fetched value or you escape the brackets by using the htmlspecialchars()-function.


Every node has a "name" (e.g. "tag") and a value (e.g. "1234", or perhaps "empty").

You've got the value.

You simply want to store the name, too. Twice.

By creating the string "<" . $name . ">" . $value . ""

There are several different ways to get $name and $value - it all depends on exactly how you're parsing your XML file.

Here's an excellent tutorial that gives you details on using XML from PHP:

  • http://www.ibm.com/developerworks/xml/library/x-xmlphp1/index.html

  • http://www.ibm.com/developerworks/xml/library/x-xmlphp2/index.html

  • http://www.ibm.com/developerworks/xml/library/x-xmlphp3/index.html

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜