MySQL PHP XML输出
我是一个相对缺乏经验的程序员,试图完成当前的项目。基本上,我正在为数据库设计一个特性;使用搜索查询,某人将能够将该信息插入到表格信函中。此时,我正在尝试使用XMLWriter将搜索结果转换为xml格式,不幸的是,搜索页面甚至不再生成。我使用的代码基于提供的解决方案。我在下面包含了php代码,欢迎任何和所有反馈MySQL PHP XML输出,php,mysql,xml,Php,Mysql,Xml,我是一个相对缺乏经验的程序员,试图完成当前的项目。基本上,我正在为数据库设计一个特性;使用搜索查询,某人将能够将该信息插入到表格信函中。此时,我正在尝试使用XMLWriter将搜索结果转换为xml格式,不幸的是,搜索页面甚至不再生成。我使用的代码基于提供的解决方案。我在下面包含了php代码,欢迎任何和所有反馈 <?php session_start(); include 'conn.php'; if(empty($_SESSION['usernam
<?php
session_start();
include 'conn.php';
if(empty($_SESSION['username']) || empty($_SESSION['password']))
print("Access to database denied");
else {
$username = $_SESSION['username'];
$password = $_SESSION['password'];
$type = $_SESSION['type'];
if($type == "admin") {
include '../includes/aheader.html';
}
if($type == "user") {
include '../includes/uheader.html';
}
if(isset($_POST["searchButton"])) {
$keyword = $_POST['keyword'];
$choice = $_POST['choice'];
if($choice == "company_name")
$sql = $mysqli -> prepare("SELECT * FROM clients WHERE company_name LIKE ?");
if($choice == "project_code")
$sql = $mysqli -> prepare("SELECT * FROM clients WHERE project_code LIKE ?");
$keyword = '%'.$keyword.'%';
$sql -> bind_param('s', $keyword);
$sql -> execute();
$result = $sql -> get_result();
if(!$result)
print("<p>Select query failed</p>");
else {
if($result -> num_rows == 0)
print("<p>No match found</p>");
else {
header("Content-Type: text/html/force-download");
header("Content-Disposition: attachment; filename='file_name.xml'");
$xml = new XMLWriter();
$xml -> openURI("test.xml");
$xml -> startDocument("1.0", "UTF-8");
$xml -> setIndent(true);
while($row = mysql_fetch_assoc($results)) {
$xml -> startElement("clients");
$xml -> writeAttribute('company_name', $row['company_name']);
$xml -> writeAttribute('phone', $row['phone']);
$xml -> writeAttribute('address', $row['address']);
$xml -> writeAttribute('approximate_employees', $row['approximate_employees']);
$xml -> writeAttribute('project_code', $row['project_code']);
$xml -> writeRaw($row['clients']);
$xml -> endElement();
}
$xml -> endElement();
header('Content-type: text/xml');
$xml -> flush();
}
}
}
}
?>
很抱歉,您必须添加更多详细信息。你有错误吗?在这种情况下,哪个?您是否仔细检查了查询是否产生结果?您获得的xml不完整还是什么都没有?等等…我忽略了包含html表单。虽然这改善了我目前收到的“mysql_fetch_assoc()期望参数1是resource,对象在第53行的/var/www/html/library/php/search.php”消息中给出。我仍然在想参数1=函数的第一个参数,所以你给函数传递了一个错误的参数:注意你的代码:你传递给mysql\u fetch\u assoc的是什么?“Result”而不是“Results”。这是固定的。现在我得到的是'Undefined index:clients in/var/www/html/library/php/search.php'Undefined index=array,其键不存在。我不知道在哪里,也许是$row['clients']
?它存在吗?客户?您可以使用var\u dump($row)
查看$row
的所有键和值。很抱歉,您必须添加更多详细信息。你有错误吗?在这种情况下,哪个?您是否仔细检查了查询是否产生结果?您获得的xml不完整还是什么都没有?等等…我忽略了包含html表单。虽然这改善了我目前收到的“mysql_fetch_assoc()期望参数1是resource,对象在第53行的/var/www/html/library/php/search.php”消息中给出。我仍然在想参数1=函数的第一个参数,所以你给函数传递了一个错误的参数:注意你的代码:你传递给mysql\u fetch\u assoc的是什么?“Result”而不是“Results”。这是固定的。现在我得到的是'Undefined index:clients in/var/www/html/library/php/search.php'Undefined index=array,其键不存在。我不知道在哪里,也许是$row['clients']
?它存在吗?客户?您可以使用var\u dump($row)
查看$row
的所有键和值。。。