1

如何获取下面的代码以输出我定义的节点名称?截至目前,它基于 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 ) );
}
?>
4

1 回答 1

0

我不完全确定您在第一个问题中要问什么,但是对于您的第二个问题(实际上应该在这里拆分为第二个问题),我认为您要问的只是基本的string concatenation。例如,

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

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

我是认真的。不要使用这些功能。完全没有。

于 2012-06-23T19:22:12.270 回答