$doc = domxml_open_mem("<root/>"); //创建一个dom对象$row_element = $doc->create_element(“user”); //创建表名的元素为什么 $row_element 返回值为空 ??导致 $row_element = $doc_root->append_child($row_element);提示错误 append_child()函数应用于非对象上,但是我检查不出来哪里出错,求高手指点迷津!谢谢
全文 是引用下面的
==========================<?php
$myxml = new CMySqlXML("localhost", "root", "mysql", "test");
echo $myxml->run_sql_return_xml("SELECT * FROM user");
class CMySqlXML {
var $host;
var $user;
var $password;
var $db;
function CMySqlXML($host, $user, $password, $db) {
$this->host = $host;
$this->user = $user;
$this->password = $password;
$this->db = $db;
}
function run_sql_return_xml($sql_string) {
$connection = mysql_connect($this->host, $this->user, $this->password,$this->db);
mysql_select_db($this->db);
$result = mysql_query($sql_string); //结果集
$doc = domxml_open_mem("<root/>"); //创建一个dom对象
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$num_fields = mysql_num_fields($result); //取得列数
$row_element = $doc->create_element(mysql_field_table($result, 0)); //创建表名的元素
$doc_root = $doc->document_element(); //确定root为文档根元素
$row_element = $doc_root->append_child($row_element); //添加列名元素到根文档
for ($i = 0; $i < $num_fields; $i++) {
$field_name = mysql_field_name($result, $i); //取字段名
$col_element = $doc->create_element($field_name); //创建元素
$col_element = $row_element->append_child($col_element);//添加元素
$text_node = $doc->create_text_node(iconv("gb2312","utf-8",$row[$field_name])); //值 为了显示方便特用iconv进行转码
$col_element->append_child($text_node); //添加入值
}
}
mysql_free_result($result);
mysql_close($connection);
//return htmlspecialchars($doc->dump_mem(false));
return $doc->dump_mem(false);
}
}
全文 是引用下面的
==========================<?php
$myxml = new CMySqlXML("localhost", "root", "mysql", "test");
echo $myxml->run_sql_return_xml("SELECT * FROM user");
class CMySqlXML {
var $host;
var $user;
var $password;
var $db;
function CMySqlXML($host, $user, $password, $db) {
$this->host = $host;
$this->user = $user;
$this->password = $password;
$this->db = $db;
}
function run_sql_return_xml($sql_string) {
$connection = mysql_connect($this->host, $this->user, $this->password,$this->db);
mysql_select_db($this->db);
$result = mysql_query($sql_string); //结果集
$doc = domxml_open_mem("<root/>"); //创建一个dom对象
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$num_fields = mysql_num_fields($result); //取得列数
$row_element = $doc->create_element(mysql_field_table($result, 0)); //创建表名的元素
$doc_root = $doc->document_element(); //确定root为文档根元素
$row_element = $doc_root->append_child($row_element); //添加列名元素到根文档
for ($i = 0; $i < $num_fields; $i++) {
$field_name = mysql_field_name($result, $i); //取字段名
$col_element = $doc->create_element($field_name); //创建元素
$col_element = $row_element->append_child($col_element);//添加元素
$text_node = $doc->create_text_node(iconv("gb2312","utf-8",$row[$field_name])); //值 为了显示方便特用iconv进行转码
$col_element->append_child($text_node); //添加入值
}
}
mysql_free_result($result);
mysql_close($connection);
//return htmlspecialchars($doc->dump_mem(false));
return $doc->dump_mem(false);
}
}
$myxml = new CMySqlXML("localhost", "root", "mysql", "test");
echo $myxml->run_sql_return_xml("SELECT * FROM user");
class CMySqlXML {
var $host;
var $user;
var $password;
var $db;
function CMySqlXML($host, $user, $password, $db) {
$this->host = $host;
$this->user = $user;
$this->password = $password;
$this->db = $db;
}
function run_sql_return_xml($sql_string) {
$connection = mysql_connect($this->host, $this->user, $this->password,$this->db);
mysql_select_db($this->db);
$result = mysql_query($sql_string); //结果集
$doc = domxml_open_mem("<root/>"); //创建一个dom对象
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$num_fields = mysql_num_fields($result); //取得列数
$row_element = $doc->create_element(mysql_field_table($result, 0)); //创建表名的元素
$doc_root = $doc->document_element(); //确定root为文档根元素
$row_element = $doc_root->append_child($row_element); //添加列名元素到根文档
for ($i = 0; $i < $num_fields; $i++) {
$field_name = mysql_field_name($result, $i); //取字段名
$col_element = $doc->create_element($field_name); //创建元素
$col_element = $row_element->append_child($col_element);//添加元素
$text_node = $doc->create_text_node(iconv("gb2312","utf-8",$row[$field_name])); //值 为了显示方便特用iconv进行转码
$col_element->append_child($text_node); //添加入值
}
}
mysql_free_result($result);
mysql_close($connection);
//return htmlspecialchars($doc->dump_mem(false));
return $doc->dump_mem(false);
}
}============================
代码如上 提示错误:Fatal error: Call to a member function append_child() on a non-object in E:\PhpServers\Apache2.2\htdocs\111.php on line 24