mysqli_fetch_array在php 7中不起作用

时间:2018-06-25 09:05:13

标签: php mysql mysqli

此代码出于某些原因与PHP 7不兼容

function sitaData()
{
    global $sitetitle_en,$sitetitle_ar,$sitekeywords,$sitedescription,$maintenance;
    mysqli_query("set names utf8");
    $query="select * from sitedata";
    $res=mysqli_query($query);
    if(mysqli_num_rows($res)>0)
    {
        $record=mysqli_fetch_array($res);
        $sitetitle_en=$record['sitetitle_en'];
        $sitetitle_ar=$record['sitetitle_ar'];
        $sitekeywords=$record['sitekeywords'];
        $sitedescription=$record['sitedescription'];
        $maintenance=$record['maintenance'];
    }

}

我想念什么?

2 个答案:

答案 0 :(得分:1)

您的代码可能已从mysql_*()函数转换为mysqli_*()函数。两者之间的主要区别在于,您必须向每个mysqli_connect()调用显式传递mysqli连接标识符(mysqli_query()的结果)。因此,首先需要建立连接(在函数sitaData()或其他地方,然后将其作为参数传递给函数),然后需要将连接添加为{{1 }}。

例如mysqli_query()mysqli_query($connection, "set names utf8");

答案 1 :(得分:0)

$conn= mysqli_connect('localhost','username','password','database');     
function sitaData()
 {
global $sitetitle_en,$sitetitle_ar,$sitekeywords,$sitedescription,$maintenance;
mysqli_query($conn,"set names utf8");
$query="select * from sitedata";
$res=mysqli_query($conn,$query);
if(mysqli_num_rows($res)>0)
{
    $record=mysqli_fetch_array($res,MYSQLI_ASSOC);
    $sitetitle_en=$record['sitetitle_en'];
    $sitetitle_ar=$record['sitetitle_ar'];
    $sitekeywords=$record['sitekeywords'];
    $sitedescription=$record['sitedescription'];
    $maintenance=$record['maintenance'];
}

}

尝试一下。