0

首先,如果标题不够清楚,我很抱歉(我很难解释我在处理什么,而且英语不是我的母语)。

这两个脚本会导致三个警告:

警告:出于安全原因,mysql_pconnect() 在第 227 行的 /home/username/public_html/xxx/libraries/adodb/drivers/adodb-mysql.inc.php 中被禁用

警告:mysql_real_escape_string() [function.mysql-real-escape-string]:/home/username/public_html/xxx/include/config.php 中的用户 'root'@'localhost' 的访问被拒绝(使用密码:否)第 140 行

警告:mysql_real_escape_string() [function.mysql-real-escape-string]:无法在第 140 行的 /home/username/public_html/xxx/include/config.php 中建立到服务器的链接

配置 PHP

    if($sban != "1")
{
    $bquery = "SELECT count(*) as total from bans_ips WHERE ip='".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."'";
    $bresult = $conn->execute($bquery);
    $bcount = $bresult->fields['total'];
    if($bcount > "0")
    {
        $brdr = $config['baseurl']."/banned.php";
        header("Location:$brdr");
        exit;
    }
}

adodb-mysql.inc.php

function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
    {
        if (ADODB_PHPVER >= 0x4300)
            $this->_connectionID = mysql_pconnect($argHostname,$argUsername,$argPassword,$this->clientFlags);
        else
            $this->_connectionID = mysql_pconnect($argHostname,$argUsername,$argPassword);
        if ($this->_connectionID === false) return false;
        if ($this->autoRollback) $this->RollbackTrans();
        if ($argDatabasename) return $this->SelectDB($argDatabasename);
        return true;    
    }

我不明白的是,无论使用 localhost 还是我的其他主机都没有错误(我有 2 个托管服务,只有一个运行良好)。

拜托,你能以非常新手的方式向我建议做什么吗?

非常感谢您提前。

4

1 回答 1

1

子系统需要在mysql_query转义功能起作用之前定义一个活动连接,但不要费心修复这个问题。而是使用您正确使用的数据库库。

从这个简短的示例中不清楚您使用的是哪个,连接代码被省略了。

PDO执行函数可以绑定值,mysqli bind_param方法类似。两者完全取代mysql_real_escape_string

于 2013-05-03T16:41:02.763 回答