Php DB2遍历行以创建XML文件
我遵循本教程,将DB2数据库中的某些地址的标记添加到google地图中: 我正试图从我的DB2数据库创建一个XML文档,但我有点困惑。这是google编写的代码,用于迭代行并从中创建XML文档:Php DB2遍历行以创建XML文件,php,xml,db2,Php,Xml,Db2,我遵循本教程,将DB2数据库中的某些地址的标记添加到google地图中: 我正试图从我的DB2数据库创建一个XML文档,但我有点困惑。这是google编写的代码,用于迭代行并从中创建XML文档: // Iterate through the rows, adding XML nodes for each while ($row = @mysql_fetch_assoc($result)){ // ADD TO XML DOCUMENT NODE $node = $dom->cre
// Iterate through the rows, adding XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
// ADD TO XML DOCUMENT NODE
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("name",$row['name']);
$newnode->setAttribute("address", $row['address']);
$newnode->setAttribute("lat", $row['lat']);
$newnode->setAttribute("lng", $row['lng']);
$newnode->setAttribute("type", $row['type']);
}
在DB2中使用PHP执行此操作的等效方法是什么?您需要使用相应的PHP DB2 API,这可能涉及在PHP ini文件中启用扩展,并可能安装DB2 ODBC驱动程序:
您将需要使用相应的PHP DB2 API,这可能涉及在PHP ini文件中启用扩展,并可能安装DB2 ODBC驱动程序:
我想应该是完全一样的,只是您要用
db2\u fetch\u assoc()
替换mysql\u fetch\u assoc()
,不是吗?我试过了,结果发现“name”不是有效的索引。所有其他属性都相同。您可能需要使用有效的列名。提示:在DB2中(以及在SQL标准中),默认情况下对象名被转换为大写。我想它会完全相同,只是您将mysql\u-fetch\u-assoc()
替换为DB2\u-fetch\u-assoc()
,否?我试过了,得到的错误是“name”不是有效的索引。所有其他属性都相同。您可能需要使用有效的列名。提示:在DB2(以及SQL标准)中,对象名默认转换为大写。我的意思是我可以成功地连接我的数据库。我使用db2_connect方法来连接、db2_准备和db2_执行。那么问题是什么?从执行的查询中简单获取,替换mysql\u fetch\u assoc。使用。请参阅编辑。这正是我以前所做的。紧跟其后,但替换为$row=mysql。。。。使用db2_fetch_assoc时,我不断收到错误消息,即“name”不是有效的索引地址“不是有效的索引。”“lat”不是所有列名称的有效索引等等。嗯,我不知道我做了什么不同,但现在它似乎起作用了。非常感谢!!你为什么不在帖子中提到这些错误?我看到你在评论中这样做了。可能是您的连接、准备/执行对象?如果有帮助,请选择我的答案。我的意思是我可以成功地连接我的数据库。我使用db2_connect方法来连接、db2_准备和db2_执行。那么问题是什么?从执行的查询中简单获取,替换mysql\u fetch\u assoc。使用。请参阅编辑。这正是我以前所做的。紧跟其后,但替换为$row=mysql。。。。使用db2_fetch_assoc时,我不断收到错误消息,即“name”不是有效的索引地址“不是有效的索引。”“lat”不是所有列名称的有效索引等等。嗯,我不知道我做了什么不同,但现在它似乎起作用了。非常感谢!!你为什么不在帖子中提到这些错误?我看到你在评论中这样做了。可能是您的连接、准备/执行对象?如果有帮助,请选择我的答案。
# Opening db connection
try {
$conn = db2_connect($database, $user, $password);
$sql = "SELECT * FROM tablename";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);
}
catch(PDOException $e) {
echo $e->getMessage();
exit;
}
while($row = db2_fetch_assoc($stmt)) {
// ADD TO XML DOCUMENT NODE
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("name",$row['name']);
$newnode->setAttribute("address", $row['address']);
$newnode->setAttribute("lat", $row['lat']);
$newnode->setAttribute("lng", $row['lng']);
$newnode->setAttribute("type", $row['type']);
}
# Closing db connection
db2_close($conn);