首先,发现它并不在数据库操作时进行
/**
* 将数组转换为SQL语句
* @param array $where 要生成的数组
* @param string $font 连接串。
*/
final public function sqls($where, $font = ' AND ') {
if (is_array($where)) {
$sql = '';
foreach ($where as $key=>$val) {
$sql .= $sql ? " $font `$key` = '$val' " : " `$key` = '$val'";
}
return $sql;
} else {
return $where;
}
}
这是一种很蠢的做法.如果二次开发人并没有对这步提前了解,那么,它如果手动拼凑出的数据包含特别字符,那么就会导致出错或是漏洞问题.这不会不可能吧?
然后这么做话.就得自己看数据是否原样,如果不是,就得再次对此数据进行转义,这就麻烦了.