[英]mysql_field_name() expects parameter 1 to be resource,
<?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的对象转换为字符串,我尝试将返回该方法的对象转换为mysqli_fetch_field_direct
任何帮助将不胜感激
您正在混合mysqli_query
和mysql_field_name
。
您不能混合使用mysqli和mysql ,到处都使用mysqli 。
使用mysqli_fetch_field_direct
并通过mysqli_fetch_field_direct($result,$i)->name
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.