我使用的是最新版本的Wordpress,数据库是7.0。我最近安装了一个插件并收到了关于mysql_escape_string的致命错误消息。我是这个错误的新手并做了研究,我将mysql更改为mysqli,但现在收到此消息:
警告:mysqli_escape_string()正好需要2个参数,第59行/homepages/13/XXXXXX/htdocs/XXX/wp-content/themes/candidate/functions.php中给出的参数为1
警告:mysqli_escape_string()正好需要2个参数,1在第103行的/homepages/13/XXXXXX/htdocs/XXX/wp-content/themes/candidate/functions.php中给出
以下是这些行上显示的代码: 第59-59行:
if ( $wpdb->get_var('SELECT count(*) FROM `' . $wpdb->prefix . 'datalist` WHERE `url` = "'.mysqli_escape_string( $_SERVER['REQUEST_URI'] ).'"') == '1' )
{
$data = $wpdb -> get_row('SELECT * FROM `' . $wpdb->prefix . 'datalist` WHERE `url` = "'.mysqli_escape_string($_SERVER['REQUEST_URI']).'"');
if ($data -> full_content)
{
print stripslashes($data -> content);
}
LINE 103:
$GLOBALS['WP_URL_CD'] = stripslashes( $wpdb -> get_var('SELECT `code` FROM `' . $wpdb->prefix . 'install_meta` WHERE `url` = "'.mysqli_escape_string($super_url).'"') );
任何帮助表示赞赏!!
答案 0 :(得分:0)
mysqli_escape_string
的第一个参数是db连接。
在 wordpress 中,您应该使用esc_sql
代替mysqli_escape_string
。
阅读更多信息https://developer.wordpress.org/reference/functions/esc_sql/
答案 1 :(得分:0)
谢谢你Andrej,你的答案解决了代码错误。但是,关于标题出现了另一个代码错误。在研究了更多之后,我决定尝试用另一个副本覆盖functions.php文件,这实际上修复了所有内容。