mysql\u real\u escape\u string():在DB insert中拒绝访问
我试图在PHP5.6和更高版本上使用传统的MediaWiki扩展,但在DB插入方面失败了 是的,这不是重复的,因为代码不同。 完全错误是: 警告:mysql\u real\u escape\u string():拒绝用户访问 ''@'localhost'(使用密码:否) 我尝试更改为mysql\u real\u escape\u string():在DB insert中拒绝访问,mysql,mediawiki,Mysql,Mediawiki,我试图在PHP5.6和更高版本上使用传统的MediaWiki扩展,但在DB插入方面失败了 是的,这不是重复的,因为代码不同。 完全错误是: 警告:mysql\u real\u escape\u string():拒绝用户访问 ''@'localhost'(使用密码:否) 我尝试更改为mysqli\u real\u escape\u string,但后来我: mysqli_real_escape_string()正好需要2个参数,1个在 第235行 以下是函数: function Lookup_a
mysqli\u real\u escape\u string
,但后来我:
mysqli_real_escape_string()正好需要2个参数,1个在
第235行
以下是函数:
function Lookup_addLookup ($url, $name, $group)
{
$dbw = wfGetDB(DB_MASTER);
$groupOrder = Lookup_getGroupOrder($group);
$dbw->query ("INSERT INTO ".Lookup_prefix()."lookups (lu_name, lu_url, lu_group, lu_order, lu_group_order) VALUES ('".mysql_real_escape_string($name)."', '".mysql_real_escape_string($url)."', '".mysql_real_escape_string($group)."', 1, $groupOrder)");
Lookup_reOrderGroups();
return true;
}
再往下走一步:
function Lookup_moveGroupUp($group)
{
$dbw = wfGetDB(DB_MASTER);
$dbw->query ("UPDATE ".Lookup_prefix()."lookups SET lu_group_order = 0 WHERE lu_group = '".mysqli_real_escape_string($group)."'");
Lookup_reOrderGroups();
return true;
}
mysqli\u real\u escape\u string()
需要数据库链接作为第一个参数,这就是它无法工作的原因
但是,MediaWiki,因此它有几种方法之一
使用类似以下内容:
函数查找\u addLookup($url、$name、$group)
{
$dbw=wfGetDB(DB_MASTER);
$groupOrder=Lookup\u getGroupOrder($group);
$dbw->insert(
查找前缀()“查找”,
排列(
“lu_name”=>$name,
“lu_url”=>$url,
“lu_组”=>$group,
“lu_顺序”=>1,
“lu\u组顺序”=>$groupOrder
)
);
查找_reOrderGroups();
返回true;
}
在第二个示例中,使用:
函数查找\u moveGroupUp($group)
{
$dbw=wfGetDB(DB_MASTER);
$dbw->更新(
查找前缀()“查找”,
排列(
“lu_组_顺序”=>0
),
排列(
“lu_组”=>$group
)
);
查找_reOrderGroups();
返回true;
}
有关更多信息和其他SQL包装,请阅读及其。可能重复的感谢!这给了我:mysqli_real_escape_string()期望参数1是mysqli,第235行给出的对象[这是以$dbw->query开头的行]@greektranslator这个怎么样?该死,我还有一个(我编辑了原始帖子)很棒,感谢额外的查询帮助,我尝试了,但没能弄明白。