Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysql\u real\u escape\u字符串和特殊字符_Php_Mysql_Mysql Real Escape String - Fatal编程技术网

Php mysql\u real\u escape\u字符串和特殊字符

Php mysql\u real\u escape\u字符串和特殊字符,php,mysql,mysql-real-escape-string,Php,Mysql,Mysql Real Escape String,我正在OpenCart上开发一个从ERP导入数据的应用程序。 在某些项目描述中,有时使用字符“°”(度)。 有关标准软件的insert应用程序使用“mysql\u real\u escape\u string”并接受上面指定的字符。 在我的应用程序中,我使用相同的函数,但该函数只导入“°”前面的字符,然后转到下一个产品。 我尝试过调试,变量包含正确的描述。 当然有错误,但我不知道在哪里。 有没有人遇到过类似的问题并解决了? 怎么做 谢谢 再见 这是我的密码 $this->db->qu

我正在OpenCart上开发一个从ERP导入数据的应用程序。 在某些项目描述中,有时使用字符“°”(度)。 有关标准软件的insert应用程序使用“mysql\u real\u escape\u string”并接受上面指定的字符。 在我的应用程序中,我使用相同的函数,但该函数只导入“°”前面的字符,然后转到下一个产品。 我尝试过调试,变量包含正确的描述。 当然有错误,但我不知道在哪里。 有没有人遇到过类似的问题并解决了? 怎么做

谢谢 再见

这是我的密码

$this->db->query("UPDATE " . DB_PREFIX . "product_description SET name = '" .  $this->db->escape($description_it) . "' WHERE product_id = '" . (int)$product_id  . "' AND language_id = '2'");
这就是Opencart的功能

public function escape($value) {
    if ($this->link) {
        return mysql_real_escape_string($value, $this->link);
    }
}
反向参数:

字符串mysqli\u real\u escape\u字符串(mysqli$link,字符串$escapestr)

您需要更改行:

 mysql_real_escape_string($this->link, $value);

您使用的是哪个版本的OpenCart?您应该尝试
echo
sql字符串…然后使用mysql工具(如命令行或mysql WorkbenchHank you Logan Murphy)执行它。我用函数utf_encode()“$this->db->escape(utf8_encode($description_it))”解决了这个问题,因为我的文本文件是ASCII格式的。