MySql将二进制数据插入db而不会出错

2022-01-09 00:00:00 insert php mysql

我有问题.当我在 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

相关文章