首页 > 数据库技术 > 详细

PHP : CodeIgniter mysql_real_escape_string 警告

时间:2018-07-31 16:03:54      阅读:168      评论:0      收藏:0      [点我收藏+]

版本 CodeIgniter 3 PHP 5.4

感谢万能的stackoverflow。

得修改CodeIgniter的源码。

./system/database/drivers/mysql/mysql_driver.php

/**
     * Escape String
     *
     * @access    public
     * @param    string
     * @param    bool    whether or not the string will be used in a LIKE condition
     * @return    string
     */
    function escape_str($str, $like = FALSE)
    {
        if (is_array($str))
        {
            foreach ($str as $key => $val)
               {
                $str[$key] = $this->escape_str($val, $like);
               }

               return $str;
           }

        if (function_exists(‘mysql_real_escape_string‘) AND is_resource($this->conn_id))
        {
            $str = mysql_real_escape_string($str, $this->conn_id);
        }
                elseif (function_exists(‘mysql_real_escape_string‘))
        {
            if (is_object($this->conn_id)) {
                            $str = mysql_real_escape_string($str, $this->conn_id);
                        } else {
                            $str = addslashes($str);
                        }
        }
elseif (function_exists(‘mysql_escape_string‘))
        {
            $str = mysql_escape_string($str);
        }
        else
        {
            $str = addslashes($str);
        }

        // escape LIKE condition wildcards
        if ($like === TRUE)
        {
            $str = str_replace(array(‘%‘, ‘_‘), array(‘\\%‘, ‘\\_‘), $str);
        }

        return $str;
    }

斜体加下划线的就是修改过的部分。

参考:https://stackoverflow.com/questions/33995279/codeigniter-showing-error-mysql-real-escape-string-expects-parameter-2-to-be

PHP : CodeIgniter mysql_real_escape_string 警告

原文:https://www.cnblogs.com/foxcharon/p/9396192.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!