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

时间:2016-06-14 11:50:22

标签: php mysql

<?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帮助将会欣赏

1 个答案:

答案 0 :(得分:2)

您正在混合indexOfvar 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

访问它