Php 如何将xml文件存储到mysqldatabase并检索它?

Php 如何将xml文件存储到mysqldatabase并检索它?,php,html,xml,Php,Html,Xml,我已经根据下面的代码自动生成了一个XML文件 if (isset($_POST["song"])&& $_POST['song'] != "") { $song = $_POST["song"]; } else { $song = array(); } $dom = new DOMDocument("1.0"); // display document in browser as plain text // for readability purposes /

我已经根据下面的代码自动生成了一个XML文件

if (isset($_POST["song"])&& $_POST['song'] != "") {
    $song = $_POST["song"];
} else {
    $song = array();
}
$dom = new DOMDocument("1.0");
// display document in browser as plain text 
// for readability purposes

// create root element
$root = $dom->createElement("playlist");
$dom->appendChild($root);
$root->setAttribute('version', "1");
$root->setAttribute('xmlns', "http://xspf.org/ns/0/");
$rootnext = $dom->createElement("trackList");
$root->appendChild($rootnext);
foreach ($song as $counter) {
    $tokens = ",";
    $tokenized = strtok($counter, $tokens);
    // create child element
    $song = $dom->createElement("track");
    $rootnext->appendChild($song);
    $song1 = $dom->createElement("creator");
    $song->appendChild($song1);
    $text = $dom->createTextNode("www.musicking.in");
    $song1->appendChild($text); 
    $song1 = $dom->createElement("title");
    $song->appendChild($song1);
    // create text node
    $text = $dom->createTextNode($tokenized);
    $song1->appendChild($text); 
    $tokenized = strtok($tokens);
    $song1 = $dom->createElement("location");
    $song->appendChild($song1);
    $text = $dom->createTextNode($tokenized);
    $song1->appendChild($text); 
}
$dom->save("playlist.xml");
实际上,生成XML文件后,它存储在根目录中

您能告诉我如何将生成的XML文件存储到MySQL数据库中吗

生成XML文件后,我必须调用该文件。我正在使用以下代码调用:

<object data="musicplayer.swf?autostart=true&playlist=playlist.xml" type="application/x-shockwave-flash" width="400" height="300">
    <param name="movie" value="musicplayer.swf?autostart=true&playlist=playlist.xml"/>
</object>


请告诉我如何从mysql数据库中存储和检索此playlist.xml文件?

我认为将其存储在数据库中是没有意义的,如果您使用另一个问题的解决方案,即singlefile问题得到解决(再次!!),如果您将它存储在数据库中并从那里获取它,或者无论什么,这可能也会起作用,甚至可能是更好的解决方案,但这不会解决错误值的问题,因为此php脚本将获得与另一个完全相同的值,它将导致完全相同的结果

再次:

检查将数据发布到PHP脚本的代码

使用获取XML文档作为字符串。

使用获取XML文件的字符串表示形式,并将此字符串插入数据库中相应的列中。根据数据的大小,使用类型为
TINYBLOB
(2^8字节)、
BLOB
(2^16字节)、
MEDIUMBLOB
(2^24字节)或
LONGBLOB
(2^32字节)(如果在您选择的RDBMS中使用MySQL或适当的数据类型)。



对不起,如果我问这么多次,但我在这里尝试。。。在你给出使用microtime()函数的解决方案之前……实际上这很好,但我不知道为什么,它每次都创建xml文件,但不访问该文件。它只显示我们将首先选择的播放列表。看看他的其他问题。有很多事情可能会出错:post脚本再次发送相同的数据->u获取相同的内容Flash没有加载正确的xml->u获取相同的内容缓存问题。也许是其他的事情,但他们都不必跟这个有任何关系。如果另一个脚本做了错误的事情,那么以另一种方式将相同的数据传递给flash不会使它变得更好。进行调试,或在此处显示其他文件,没有人能够帮助您。随着人们对这个答案的投票率不断下降,我认为他们必须比我更清楚。。问他们我正处于学习阶段,这就是为什么我会问这么多次没关系,但如果你忽略了我在其他帖子中已经说过的话,我会因为指出了重要的东西而被否决,我真的不想继续这样做。********应该是“.mysql_escape_string($xmlString)。”$xmlString=$dom->saveXML();而不是DOMDocument::saveXML();必须将saveXML()方法的输出分配给某个变量。您还必须调用$dom对象上的方法。请熟悉PHP的核心概念。。。这将使理解上面的答案变得容易得多。是的,我改变了……但连接到数据库没有任何错误,连接到数据库代码插入到xml(文件)值中正好是你所说的。我不明白哪一个是完美的尝试?弗洛,你能帮我个忙吗?…如果我有问题,就把它留给xml解决方案吧,忘了sql的东西,那将是大量的工作,没有任何区别。添加:var_dump($_POST[“song”]);在某个地方,您可以看到发布到php文件的内容。然后尝试一下,将输出与flashplayer中播放的内容进行比较如果我在打开player.php时放置var_dump,它会将选定的歌曲显示为屏幕上的文本,这就是它应该做的,flashplayer中的歌曲是否相同?一切正常吗?当flashplayer有错误的歌曲时,文本显示什么?
<?php 
if(isset($_POST["song"])&& $_POST['song'] != "") 
    {
        $song = $_POST["song"];
    }
    else {$song=array();} 
$dom = new DOMDocument("1.0");
// display document in browser as plain text 
// for readability purposes

// create root element
$root = $dom->createElement("playlist");
$dom->appendChild($root);
$root->setAttribute('version', "1");
$root->setAttribute('xmlns', "http://xspf.org/ns/0/");
$rootnext = $dom->createElement("trackList");
$root->appendChild($rootnext);
foreach ($song as $counter) {
    $tokens = ",";
    $tokenized = strtok($counter, $tokens);
// create child element

$song = $dom->createElement("track");
$rootnext->appendChild($song);
$song1 = $dom->createElement("creator");
$song->appendChild($song1);
$text = $dom->createTextNode("www.musicking.in");
$song1->appendChild($text); 
$song1 = $dom->createElement("title");
$song->appendChild($song1);
// create text node
$text = $dom->createTextNode($tokenized);
$song1->appendChild($text); 
$tokenized = strtok($tokens);
$song1 = $dom->createElement("location");
$song->appendChild($song1);
$text = $dom->createTextNode($tokenized);
$song1->appendChild($text); 

}
DOMDocument::saveXML();

$con = mysql_connect("localhost","music123_sri","password");
 if (!$con) 
  { die('Could not connect: ' . mysql_error()); } 
mysql_select_db("music123_telugu", $con);
 $sql="INSERT INTO xml (File) VALUES (" . mysql_escape_string($xmlString) . ")"; 
 $data = mysql_query("SELECT File FROM xml")

 $info = mysql_fetch_array( $data );
?>
<object data="musicplayer.swf?autostart=true&playlist=<?php $info ?>"      type="application/x-shockwave-flash" width="400" height="300"><param name="movie"   value="musicplayer.swf?autostart=true&playlist=<?php $info ?>"/></object>



can u check the above code its not working.