首先,如果标题不够明确(我发现很难解释我正在处理的内容,英语不是我的母语),我很抱歉。
这两个脚本会导致三个警告:
警告:出于安全原因,已禁用mysql_pconnect() /home/username/public_html/xxx/libraries/adodb/drivers/adodb-mysql.inc.php 在第227行
警告:mysql_real_escape_string() [function.mysql-real-escape-string]:拒绝用户访问 'root'@'localhost'(使用密码:NO)in 第140行/home/username/public_html/xxx/include/config.php
警告:mysql_real_escape_string() [function.mysql-real-escape-string]:无法链接到服务器 在/home/username/public_html/xxx/include/config.php上建立 第140行
配置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个托管服务,只有一个运行良好),都没有错误。
拜托,请你以新手的方式向我建议做什么?
非常感谢你。
答案 0 :(得分:1)
mysql_query
子系统需要在转义函数运行之前定义活动连接,但不要打扰修复此问题。而是使用您正确使用的数据库库。
目前还不清楚你在这个简短的例子中使用了什么,连接代码被省略了。
PDO execute函数可以绑定值,mysqli
bind_param方法类似。两者都完全取代mysql_real_escape_string
。