codeIgniter 使用 mysql_real_escape_string() 代替.database 连接问题
我在带有数据库的服务器上安装了代码点火器我想在我的 mac 上运行相同的数据库,我使用了 MAMP 并在 htdocs 中复制了项目文件夹,但是我有这个错误请你帮帮我好吗!
I have code igniter installed on server with database I want to run the same db on my mac, I used MAMP and I copy the project folder inside htdocs, but I have this error would you please help me!
ErrorException [ 8192 ]: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead.
推荐答案
不要害怕改变核心文件,只需改变 FCPATH/system/database/drivers/mysqli/mysqli_driver.php
Don't be afraid to change core files, just alter FCPATH/system/database/drivers/mysqli/mysqli_driver.php
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('mysqli_real_escape_string') AND is_object($this->conn_id))
{
$str = mysqli_real_escape_string($this->conn_id, $str);
}
else
{
$str = addslashes($str);
}
// escape LIKE condition wildcards
if ($like === TRUE)
{
$str = str_replace(array('%', '_'), array('\%', '\_'), $str);
}
return $str;
}
我遇到了同样的问题
更好的解决方案 -> https://ellislab.com/forums/viewthread/228288/ 在 github 中声明它将在 CodeIgniter 3.0 中修复该修复已经存在于该存储库中"
Better solution -> https://ellislab.com/forums/viewthread/228288/ "stated in github that it will be fixed in CodeIgniter 3.0 the fix already exists in that repository"
相关文章