XML with mySQL and DOM


XML with mySQL and DOM

如何获取下面的代码来输出我定义的节点名称?截至目前,它根据 SQL 表的列名创建节点。我想定义列和节点。另外,我如何对其进行编码,以便当有人将数据插入我的表中时,它会将该数据附加到插入的数据中?例如:

Input data: "davidjmorin"
Data inserted: "http://someurl.com/davidjmorin"

这是我对原始问题的代码:

<?
//header('Content-type: text/xml');
$link = mysql_connect('localhost','root','IhaveAlLthEanSwers2012!');
mysql_select_db('bb_links');
$sql = "Select * from `links`";
$run = mysql_query($sql, $link);
if( $run && mysql_num_rows( $run ) ) {
$doc = new DOMDocument( '1.0' );
$doc->formatOutput = true;
$doc->preserveWhiteSpace = true;
$root = $doc->createElement( 'data' );
$doc->appendChild( $root );
while( ( $fetch = mysql_fetch_assoc( $run ) )!== false ) {
    $node = $doc->createElement( 'channel' );
    $root->appendChild( $node );
    foreach( $fetch as $key => $value ) {
        createNodes( $key, $value, $doc, $node );
    }
}
$doc->save("thelinks.xml");
}
//$node = "channel";
function createNodes( $key, $value, $doc, $node ) {
$key = $doc->createElement( $key );
$node->appendChild( $key );
$key->appendChild( $doc->createTextNode( $value ) );
}
?>

我不完全确定你在第一个问题中问什么,但对于你的第二个问题(实际上应该在这里分成第二个问题),我认为你问的只是基本的字符串连接。例如

<?php
    $url_name = "http://www.example.com/";
    $data = $_POST['name']; //davidjmorin
    $data_to_insert = $url_name . $data;
    //Insert data into database
?>

另外,请不要对新代码使用mysql_*函数。它们不再被维护,社区已经开始弃用过程(见红框)。相反,您应该了解预准备语句并使用PDO或MySQLi。如果您无法决定哪个,本文将为您提供帮助。如果您想学习,这是一个很好的PDO教程。

我是认真的。不要使用这些函数。完全。