1. SQL 注入 SQL 注入是非常常见的一种网络攻击方式,主要是通过参数来让 mysql 执行 sql 语句时进行预期之外的操作. 即:因为传入的参数改变SQL的语义,变成了其他命令,从而操作了数据库. 产生原因:SQL语句使用了动态拼接的方式. 例如,下面这段代码通过获取用户信息来校验用户权限: import pymysql sql = 'SELECT count(*) as count FROM user WHERE id = ' + str(input['id']) + ' AND p
当遇到一个NOT FOUND(无数据)的警告时,使用一个包含清除警告语句的条件句柄处理,就可以继续处理程序并退出句柄. 这个问题在MySQL5.6.3之后的版本已经解决了,所以该解决方法不是必要的. 解决方法: DECLARE CONTINUE HANDLER FOR NOT FOUND BEGIN SET done=1 SELECT 1 INTO @handler_invoked FROM (SELECT 1) AS t; END; 来源:Click the link(http://dev.m
mysql> explain select t1.* from t2 ,t1 where t2.id=t1.id and t2.id<3;\ +----+-------------+-------+------+---------------+------+---------+------+--------+----------------------------------------------------+ | id | select_type | table | type | poss