<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$servername = "localhost";
$username = "root";
$password = "#";
$database = "book";
// Create connection
$conn = new mysqli($servername, $username, $password,$database) or die('There was a problem with connection!!');
$sql="select * from `book`;";
$result=mysqli_query($conn,$sql);
if (!$result){
die('Query cannot execute');
}
$row_cnt=$result->num_rows;
$xml_dom = new DOMDocument( '1.0' );
$xml_dom->appendchild($xml_dom->createElement('result')) ;
$xmlRoot=$xml_dom->documentElement;
while ($row = $row_cnt){
$xml_row_node=$xml_dom->createElement('row');
$i=0;
for($i=0;$i<mysqli_num_fields($result);$i++)
{
$xmlRow=$xml_dom->createElement(mysqli_fetch_field_direct($result,$i)->name);
$xmlRowElement = $xml_dom->createTextNode($row[$i]);
$xmlRowElement->appendChild($xmlRowElement);
}
$xmlRoot->appendChild($xmlRowElement);
}
header('Content-type: text/xml');
echo $xml_dom->saveXML();
?>
存在问题
$xmlRow=$xml_dom->createElement(mysql_field_name($result,$i));
并显示此错误“mysql_field_name()期望参数1为资源” 当我检查这个方法的手册是像我一样使用(我使用PHP 5.6)
我尝试得到这样的字段名称:
$xmlRow=$xml_dom->createElement((string)mysqli_fetch_field_direct($result,$i));
但是我得到了这个错误类stdClass的对象无法转换为字符串 我尝试转换返回该methodsmysqli_fetch_field_direct
的对象Αny帮助将会欣赏
答案 0 :(得分:2)
您正在混合indexOf
和var pattern = '0123456789012345789' //to match circular sequence as well.
if (pattern.indexOf(input) == -1)
console.log('good input')
else
console.log('bad input')
。
你不能混合 mysqli 和 mysql ,到处使用 mysqli 。
使用mysqli_query
并通过mysql_field_name