问题描述
我有问题.当我在 php 中进行这样的插入时:
I have a problem. When I do an insert like so in php:
sql = "INSERT INTO mytable (id, value)
VALUES ('sds83','".$EncryptedString."')";
当我运行以下查询时,它有时有效,有时无效.问题是有时 $EncryptedString 包含这样的字符:')')这会导致语法错误.$EncryptedString 包含二进制数据,我该如何解决这个问题?
When I run the following query it sometimes works and sometimes it doesn't. The problem is that sometimes the $EncryptedString contains characters like this: ')') which causes syntax errors. The $EncryptedString contains binary data, how can I go about this issue?
推荐答案
转义你的加密字符串
mysql-real-escape-string
mysql_real_escape_string() 调用 MySQL 的库函数mysql_real_escape_string,将反斜杠添加到以下内容字符:x00、 、 、、'、" 和 x1a.
mysql_real_escape_string() calls MySQL's library function mysql_real_escape_string, which prepends backslashes to the following characters: x00, , , , ', " and x1a.
参见 StripSlashes
这篇关于MySql将二进制数据插入db而不会出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!