gpt4 book ai didi

mysql - 将二进制字符串插入 MYSQL varchar 列

转载 作者:行者123 更新时间:2023-11-30 00:23:03 25 4
gpt4 key购买 nike

众所周知,我们将使用mysql_query api向服务器发送查询,并且查询通过字符串作为参数传递。我们必须在 sprintf 等 C 函数调用的 mysql_query 之外制定字符串。例如,

sprintf(buffer, “insert into table(describe) values(‘%s’)”, strA);
mysql_query(..., buffer);

The ‘describe’ is a VARCHAR(150).

在某些特殊情况下,我们的函数之一会将几个C风格的字符串cat成一个长字符串,剩下所有结尾的'\0'以形成二进制,即以C形式将“abc”和“efg”cat成“abc”\0efg\0”,当然是向调用者提供的长度(在本例中为 8)。但是,out 二进制文件永远不能在上面的 sprintf 中用作 strA,因为 C 函数将通过遇到第一个“\0”来截断字符串。

我们可以做些什么特别的事情来满足我们的需求吗?我们想要将二进制插入到定义为 VARCHAR 的列中。我们尝试将所有‘\0’改为字面上的‘\0’,这看起来效果不错,但很耗时,也很费代码。有没有更简单的替代方法?

提前致谢。

最佳答案

你应该使用mysql_real_escape_string()转义该字符串。

关于mysql - 将二进制字符串插入 MYSQL varchar 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23079094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com