php表前缀,为什么一定要先替换表名?

替换 前缀 表名 php 为什么 一定 __ title body 我们 编程进阶笔记
发布日期 2022-10-07 更新日期 2022-10-07 阅读次数 54 文章字数 312

遇到别人写的一个替换方法,有一些奇怪的bug一开始一直没看出来

它是直接把:#@__  替换为  table_prefix ,也就是使用了 #@__ 作为表前缀替代符。

但是它是单条sql,例如:insert into `#@__blog` set `title`='$title', `body`='$body' where `id`=$id;

在替换时,如果 title  和 body 中刚好也有 #@__ ,则会把内容中的 #@__ 也会替换为表前缀。

我们需要思考两个问题:

一是我们不得不需要前缀,因为其他大部分程序也是这么写的,如果没有这个功能显得很low

二是表名和参数必须分开,否则就又会像上面提到的问题,表名和内容使用了同样的替代符,导致错误的替换,我们应该先替换表名,再替换实际的参数,也就是必须抽离表名,这样才能完美的替换。


文章作者: 朱丰华

文章链接: https://smart.52dixiaowo.com/blog/post-105.html

版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。

替换 前缀 表名 php 为什么 一定 __ title body 我们

发表评论

相关推荐
朱丰华   |   7个月前   |   php

php判断是否被iframe

221    评论    点赞
朱丰华   |   1年前   |   php

php正则表达式定界符:异常Delimiter must not be alphanumeric or backslash

190    评论    点赞
朱丰华   |   1年前   |   git · hub · 仓库

go克隆并引用github仓库

147    评论    点赞
朱丰华   |   1年前   |   php · 缓存 · opcache

php 加速、提高并发opcache

198    评论    点赞
朱丰华   |   1年前   |   正则 · 表达

正则表达式,实现if...then...else

113    评论    点赞
朱丰华   |   1年前   |   sql · php

PHP如何使用PDO批量执行SQL?

115    评论    点赞
朱丰华   |   1年前   |   sed · 文件

Shell 指定行处理head、tail、sed

156    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 字符串

如何在 PHP 中将字符串的第一个字母转换为大写

150    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 正则

php正则表达式原生字符

86    评论    点赞
朱丰华   |   1年前   |   字符 · php · 比较

PHP比较字符串大小相关函数

111    评论    点赞
朱丰华   |   1年前   |   linux · 文件

linux递归统计文件夹大小、du命令_Linux du命令:查看文件夹和文件的磁盘占用情况

193    评论    点赞
朱丰华   |   1年前   |   php

windows下编写、编译php扩展

158    评论    点赞
朱丰华   |   1年前   |   linux · php

linux下编写、编译php扩展

150    评论    点赞
朱丰华   |   1年前   |   php · 混淆 · obfuscate · git

yakpro-po混淆php代码

106    评论    点赞
朱丰华   |   1年前   |   php

php扩展编译nts的方法

86    评论    点赞
朱丰华   |   1年前   |   linux · 变量 · 环境

linux查看环境变量、设置环境变量

94    评论    点赞
朱丰华   |   1年前   |   js · php · 字符 · 字符串

php json_encode对字符串转义用法

135    评论    点赞
朱丰华   |   1年前   |   php · 捕获

php Fatal error怎么捕获

127    评论    点赞
朱丰华   |   1年前   |   php · 编译

ubuntu、centos系统从源码编译指定版本php--超详细

159    评论    点赞
朱丰华   |   1年前   |   php · git · 编译

从源码编译php

135    评论    点赞
{{item.author_name}}   |   {{new Date(item.date*1000).log()}}   |   {{it}} ·

{{item.title}}

{{item.uv}}    评论    点赞