PHP : CodeIgniter mysql_real_escape_string 警告
Posted 亦虚
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP : CodeIgniter mysql_real_escape_string 警告相关的知识,希望对你有一定的参考价值。
版本 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 警告的主要内容,如果未能解决你的问题,请参考以下文章
SYSTEMPATH/CodeIgniter.php 在第 219 行