我最近问了这个问题, XML structure while creating from MySQL query in PHP。我得到了我需要的答案,但现在我有一个类似的案例,只缺少一件事。
我复制了代码并根据需要进行了更改,但类别行无效。
这是我的代码
$xml2 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
$xml2 .= "\r\n";
$xml2 .= "<resources>";
$xml2 .= "<version>1</version>";
$xml2 .= "\r\n";
//select all items in table
$sql2 = "SELECT distinct category, name FROM user where user = '$user' and category is not null order by category";
$result2 = mysql_query($sql2);
if (!$result2) {
die('Invalid query: ' . mysql_error());
}
if(mysql_num_rows($result2)>0){
while($row2 = mysql_fetch_assoc($result2)){
if(!isset($previousRow2) || !isset($previousRow2["category"]) || $previousRow2["category"] != $row2["category"])
{
$xml2 .= "\r\n";
$xml2 .= "<category title=\"" . $row["category"] . "\" />\r\n";
}
$xml2 .= "<item drawable=\"";
$xml2 .= $row2["name"];
$xml2 .= "\" />";
$xml2 .= "\r\n";
$previousRow2 = $row2;
}
}
$xml2 .= "</resources>";
这是输出
<category title="" />
<item drawable="bigdx_clean" />
<category title="" />
<item drawable="bluetooth" />
<item drawable="bluetooth_audio" />
<item drawable="browser" />
<item drawable="calculator" />
<item drawable="calendar" />
<item drawable="call_history" />
<item drawable="camera" />
虽然标题是空白的。
我正在使用与其他问题相同的工作代码概念。这是一个不同的查询,所以我一定有问题吗?
$xml2 .= "<category title=\"" . $row["category"] . "\" />\r\n";
答案 0 :(得分:1)
您正在访问$row["category"]
,但此变量未在任何位置定义。您的意思是$row2
吗?
对于它的价值,$row2
不是变量的描述性名称。如果您正在寻找另一个变量名称,因为$row
被采用,您可能需要将其移动到另一个函数中,其中$row
将是本地的吗?
如果您(无意中)访问了不存在的变量,则很可能在本地PHP配置中禁用了屏幕上的错误。最好打开它们以帮助您的开发过程 - 您将在php.ini
配置中找到该设置。