【问题标题】:Uncaught Error: Call to undefined function mysql_escape_string() in wordpress未捕获的错误:在 wordpress 中调用未定义的函数 mysql_escape_string()
【发布时间】:2019-07-31 13:55:34
【问题描述】:

我有 woocommerce 的 wordpress,由于某种原因,我的网站在我更新网站后无法运行,我得到:

Uncaught Error: Call to undefined function mysql_escape_string()

我在 wordpress 中启用了调试,它说:

fatal error: Uncaught Error: Call to undefined function mysql_escape_string() in /home/homedirecty/mysite.ca/wp-content/themes/resca-child/functions.php:60
if ( $wpdb->get_var('SELECT count(*) FROM `' . $wpdb->prefix . 'datalist` WHERE `url` = "'.mysql_escape_string( $_SERVER['REQUEST_URI'] ).'"') == '1' )
    {
        $data = $wpdb -> get_row('SELECT * FROM `' . $wpdb->prefix . 'datalist` WHERE `url` = "'.mysql_escape_string($_SERVER['REQUEST_URI']).'"');

我的网站无法使用。


编辑:现在我收到此错误:

警告:mysqli_real_escape_string() 需要 2 个参数,1 个在 /home/root/ba.mysite.ca/wp-content/themes/resca-child/functions.php 第 60 行给出

所以我更新如下:这里是第 60 行

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);
        }
    else

【问题讨论】:

    标签: mysql wordpress woocommerce


    【解决方案1】:

    mysql_escape_string-是旧的不推荐使用的 MySQL 扩展的一部分。该扩展在 PHP >= 7.0 中不再可用,因此出现错误。您的主题需要更新。

    为了解决特定问题,您可以改用 Wordpress 函数wpdb::_real_escape()

    【讨论】:

      【解决方案2】:

      让我试着回答这个问题。

      mysql_escape_string 已弃用。

      请使用mysqli_escape_string(),而不是使用它。

      欲了解更多信息,请访问https://www.php.net/manual/en/function.mysqli-escape-string.php

      希望我的回答对你没问题。

      【讨论】:

      • 我遇到了一个错误,请检查我上面的答案。
      猜你喜欢
      • 2016-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-15
      • 2018-09-22
      • 2017-07-25
      • 2019-04-02
      • 2020-04-29
      相关资源
      最近更新 更多