gpt4 book ai didi

php - 使用 PHP 从 SQL 表数据创建 XML 文件

转载 作者:行者123 更新时间:2023-11-29 03:31:13 25 4
gpt4 key购买 nike

我有这张 table ...

rss(
id serial,
title varchar(25) not null,
link text not null,
description TEXT not null,
imagename text
);

...我正在尝试从使用 php 存储的数据创建一个 xml 文件。

$db = mysqli_connect("localhost", "root", "", "s3382313");
$q = 'select * from rss';
$run = mysqli_query($db, $q);

if( $run && mysqli_num_rows( $run ) ) {
$doc = new DOMDocument( '1.0' );
$doc->formatOutput = true;
$doc->preserveWhiteSpace = true;

$root = $doc->createElement( 'data' );
$doc->appendChild( $root );

while( ( $fetch = mysqli_fetch_assoc( $run ) )!== false ) {
$node = $doc->createElement( 'node' );
$root->appendChild( $node );

foreach( $fetch as $key => $value ) {
createNodes( $key, $value, $doc, $node );
}
}
$doc->save("thexmlfile.xml");
}

function createNodes( $key, $value, $doc, $node ) {
$key = $doc->createElement( $key );
$node->appendChild( $key );
$key->appendChild( $doc->createTextNode( $value ) );
}

我收到这个错误:

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\WeatherRadar\process_XML.php on line 27

第 27 行是:foreach( $fetch as $key => $value ) {

我该怎么办?

最佳答案

我认为您的 $fetch 范围在一个太多的括号内,它目前只测试 while 条件的有效性。

while((true != false)) { 
//...
}

因此,也重写:

while( $fetch = mysqli_fetch_assoc( $run )) {
/** $fetch will be scoped for the loop now **/
}

其次对于调试,在迭代之前检查 $fetch 的内容很重要,因为它可能不是嵌套结果集。

关于php - 使用 PHP 从 SQL 表数据创建 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30300767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com