构建SQL语句是一个比较
复制代码代码如下所示:
为SQL = 'select *
从sdb_comments
在goods_id = '。intval($ goods_id)。
和for_comment_id是空的
和object_type =美元的项目
和禁用=false
和显示;

我宁愿这样做:
复制代码代码如下所示:
为SQL = sprintf('select *)
从sdb_comments
在goods_id = %。0f
和for_comment_id是空的
和object_type =%s
和禁用=false
显示=真,(浮动)goods_id美元,美元的项目);

声明很简单,如果它更复杂,它是一个字符串的噩梦。

使用第二种方式比较方便,但有一个小问题:当你格式化这个数字时,你需要注意它的值的范围。这个数字是用来询问值的。最后的SQL返回不是我们所需要的。

我今天作了总结:

%:2 ^ 31 ~ 2 ^ 31-1(2147483648 ~(2147483647)转换为符号的十进制)

b:二进制(将int类型转换为二进制)

字符(将int类型转换为字符)

%:2 ^ 32-1(0 ~(4294967295)转换为符号的十进制)

F:% 2 ^ 128-2 ^ 128(-3.4e38 ~ + 3.4e38)(将浮子浮)定位

F:% 2 ^ 128-2 ^ 128(-3.4e38 ~ + 3.4e38)(将浮子浮)非本土化

%(将int转换为八进制)

%s:字符串

x:将int转换为小写字母表的十六。

x:将int转换为大写字母的十六。

因为如果使用%d,数据库中的ID可能非常大,它可能会出现,因为它超出了范围,而不是正确的结果。