致命错误:使用单击计数器功能调用未定义的函数mysqli_result()

时间:2014-08-27 23:45:20

标签: php mysql

这是我计算来自ips的点击次数的函数,

function get_client_ip() {
$ipaddress = '';
if (getenv('HTTP_CLIENT_IP'))
    $ipaddress = getenv('HTTP_CLIENT_IP');
else if(getenv('HTTP_X_FORWARDED_FOR'))
    $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
else if(getenv('HTTP_X_FORWARDED'))
    $ipaddress = getenv('HTTP_X_FORWARDED');
else if(getenv('HTTP_FORWARDED_FOR'))
    $ipaddress = getenv('HTTP_FORWARDED_FOR');
else if(getenv('HTTP_FORWARDED'))
   $ipaddress = getenv('HTTP_FORWARDED');
else if(getenv('REMOTE_ADDR'))
    $ipaddress = getenv('REMOTE_ADDR');
else
    $ipaddress = 'UNKNOWN';
return $ipaddress;

}

和点击计数器

function update_visitas($id,$ip) {
global $dbc;
$sql = "SELECT COUNT(*) FROM ipclicks WHERE ip = "  . ip2long($ip) . " and ads = " . $id;

$res=mysqli_query($dbc,$sql);

if (mysqli_result($res, 0)==0){
        $sql = "INSERT INTO ipclicks VALUES (" . ip2long($ip) . "," . $id . ")";
        #echo $sql;
        $res=mysqli_query($dbc,$sql);           

        $sql = "UPDATE ads SET vistas = vistas +1 WHERE id_ad = " . $id;
        #echo $sql;
        $res=mysqli_query($dbc,$sql);       
}

}

如何在此函数中替换mysqli_result以避免此错误? 致命错误:调用未定义的函数mysqli_result()

1 个答案:

答案 0 :(得分:0)

不推荐使用的mysql函数和mysqli函数之间没有完全匹配的1:1。您必须将一行作为数组获取,然后检查它的一个元素。

示例:

$res = mysqli_query($dbc,$sql);
$row = mysqli_fetch_row($res);
if ($row[0]==0){
    . . .