$sql="select * from `aaaa` aaa where aaa.`a_id` = '".$id."' ";
必须需双引号包单引号,变量必须写在外层。表名、字段名必须使用 ` 号(数字键1前面的那个符号)。
$id之类的任何传入变量字段值,无论任何数据,不管是查询还是修改,都必须包在单引号内(不要考虑mysql自动转换数据类型时的开销,安全比这个更重要!)。
上面这个是我朋友,给我提出的建议。
我不明白,为什么必须是双引号包括单引号。另外“变量必须写在外层”是什么意思?
必须需双引号包单引号,变量必须写在外层。表名、字段名必须使用 ` 号(数字键1前面的那个符号)。
$id之类的任何传入变量字段值,无论任何数据,不管是查询还是修改,都必须包在单引号内(不要考虑mysql自动转换数据类型时的开销,安全比这个更重要!)。
上面这个是我朋友,给我提出的建议。
我不明白,为什么必须是双引号包括单引号。另外“变量必须写在外层”是什么意思?
解决方案 »
- 求这个update语句执行顺序以及效率
- 三张表的多对多关系
- 一道看似简单mysql题目,但我没答出来,求答案
- 关于MySQLdb的一些新发现(使用python连接mysql的库)
- 在mysql复制同步数据时*.err的内容如下,数据没有同步到,请高手帮帮忙。
- mysql 如何得到一年当中每周第一秒的时间戳?
- 如何解决类似引用多个外键办法?--初学和高手都请进。。。。。。
- 关于如何把Access数据如何导进mysql中的方法
- 我装的mysql-5.0.0a-alpha,为什么看不到mysql这个database,只有test一个?
- 命令行字段显示不全,求解
- mysql root账户登录user表是只读的,怎么修改啊?
- 语句错误 求大神解决
要想最大程度的避免sql注入攻击,存储过程很大程度的避免了sql注入。