图一,‘id’是输入的值,这个值赋值给¥id,id’的值,mysql_query($getid)是执行组合字符串中的SELECT 查询语句,【(mysql_query() 函数执行一条 MySQL 查询。ysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE。对于其它类型的 SQL 语句,mysql_query() 在执行成功时返回 TRUE,出错时返回 FALSE。)】当输入的值是 数字和字符串,或者输入的是数字 分号加sql命令,逻辑上会认为都是数据,就会传到数据库,数据库解析就把SQL语句执行。
图二,‘id’输入的值只能是一个数值,“if(is_numeric($id))”,numeric函数只允许是数字跟数字字符串类型,所以这里做了一个判断,如果不是数值类型和数字字符串将不能执行。其中‘id’的值只能是一个值,不能是其他的字符串或者数字加SQL命令。