繁体   English   中英

mysql_field_name()期望参数1为资源,

[英]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_querymysql_field_name

您不能混合使用mysqlimysql ,到处都使用mysqli

使用mysqli_fetch_field_direct并通过mysqli_fetch_field_direct($result,$i)->name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM