function GetProducts($catagorys, $includeSubcatagory, $brandname='', $specialoffer, $pagesize, $pageindex, $orderby){
$where = array(1);
foreach($catagorys as $k=>$v){
$catIDsql='SELECT cat_id FROM sdb_goods_cat WHERE cat_name=\''.$v.'\' ';
$cat_rs[]=$this->db->selectrow($catIDsql);
}
foreach($cat_rs as $k=>$v){
$cat_ids[] = $v['cat_id'];
}
if($includeSubcatagory){
$where[] = ' AND c.parent_id in('.implode(',',$cat_ids).') OR c.cat_id in ('.implode(',',$cat_ids).') ';
}else{
$where[] = ' AND c.cat_id in ('.implode(',',$cat_ids).') ';
}
if($brandname){
$where[] = ' AND g.brand = \''.$brandname.'\' ';
}
if($specialoffer){
$where[] = ' AND g.iflimit = 1 OR g.is_groupbuy = \'true\' ';
}
switch($orderby){
case 0:
$ob = ' g.uptime DESC';
break;
case 1:
$ob = ' g.uptime ';
break;
case 2:
$ob = ' p.price DESC';
break;
case 3:
$ob = ' p.price ';
break;
case 4:
$ob = ' g.buy_count DESC';
break;
case 5:
$ob = ' g.buy_count ';
break;
case 6:
$ob = ' g.score DESC ';
break;
case 7:
$ob = ' g.score ';
break;
}
$sql='SELECT p.product_id,p.bn,p.name,g.cat_id,c.cat_name,p.price,p.mktprice,g.buy_count,g.score,g.uptime,g.thumbnail_pic,g.small_pic,g.big_pic,g.intro,g.params,g.supplier_id,g.score,g.last_modify,g.buy_count,g.store FROM sdb_goods as g,sdb_goods_cat as c,sdb_products as p WHERE g.goods_id=p.goods_id AND g.cat_id = c.cat_id AND 1='.implode(' ',$where).' ORDER BY '.$ob.' limit '.$pagesize*($pageindex-1).','.$pagesize*$pageindex;
$result=$this->db->select($sql);
if(!$result){
$result[0]=array();
}
return $result;
}
分享到:
相关推荐
【PHP——SQL注入测试靶场】是一个用于学习和实践SQL注入漏洞的安全平台,它通过PHP编程语言构建,目的是帮助开发者和网络安全爱好者理解SQL注入的工作原理,以及如何防范这种常见的Web安全威胁。SQL注入是一种攻击...
SQL注入是一种常见的安全漏洞,通常发生在应用程序将用户输入的数据直接拼接到SQL查询语句中,而不进行充分的验证和转义。"SQL注入简单总结——过滤逗号注入"的主题主要探讨了如何处理那些针对逗号(`,`)进行过滤的...
1. 使用预编译语句(参数化查询):如PHP的PDO或MySQLi的预处理语句,它们可以确保用户输入不会干扰SQL语句结构。 2. 输入验证:对用户提交的数据进行严格检查,例如限制长度、格式,甚至使用白名单过滤非法字符。 3...
使用预编译语句、过滤用户输入、避免直接拼接SQL语句是防止SQL注入的有效手段。对于XSS,应确保输出的内容都经过适当的转义或编码。 10. **部署与配置**:程序运行需要合适的服务器环境,如Apache或Nginx,以及PHP...
【PHP视频教程系列——总共22章节(4)】是一个针对初学者和进阶者设计的PHP编程教学资源。这个系列教程通过视频形式,详细讲解了PHP语言的基础知识以及一些高级概念,帮助学习者掌握PHP编程技能。在这个第四部分的...
【PHP代码审计笔记——SQL注入1】主要探讨的是在PHP环境中如何防止SQL注入攻击,特别是针对MySQL数据库。SQL注入是一种常见的网络安全威胁,攻击者通过构造恶意的SQL语句,利用程序漏洞来执行非授权的操作,如获取...
【PHP视频教程系列——总共22章节(10)】是一个专门为学习PHP编程语言而设计的视频教程资源。本教程涵盖了从基础到进阶的PHP知识体系,旨在帮助初学者和有一定经验的开发者深入理解PHP的语法、函数、类库以及最佳...
实验4主要关注的是信息安全中的一个重要议题——SQL注入。SQL注入是一种常见的网络安全威胁,攻击者通过构造恶意的SQL语句来欺骗数据库,获取未经授权的数据或操控数据库。在这个实验中,我们将通过实际操作来理解...
【PHP教材】——《十天学会PHP》 ... ...PHP的基本语法结构与C语言类似,包括变量声明、常量、数据类型(如整型、浮点型、字符串、布尔型、数组...记住,理论结合实践是学习编程的不二法门,祝你在PHP编程之路上越走越远!
【PHP教程PPT——深入理解PHP编程】 "八维 PHP教程PPT" 是一套全面介绍PHP编程语言的教学资料,旨在帮助学习者系统地掌握PHP基础知识和高级特性。PHP(Hypertext Preprocessor)是一种广泛应用于Web开发的开源脚本...
预处理语句能确保SQL语句结构不会被用户输入篡改,参数绑定则将用户输入的数据与SQL语句结构分离,避免了直接拼接字符串导致的安全问题。 五、使用示例 使用Hi-mydb,开发者首先需要创建一个实例,配置数据库连接...
从给定的文件信息来看,文章主要探讨了与IT安全领域紧密相关的一个重要主题——SQL注入(SQL Injection)。SQL注入是一种常见的网络安全攻击方式,通过在应用程序的输入字段中插入恶意SQL语句,攻击者能够绕过正常的...
SQL注入是一种常见的安全威胁,应避免在SQL语句中直接拼接用户输入,而应使用参数化查询或预编译语句。同时,为了提高查询效率,可以合理设置索引,避免全表扫描,优化SQL查询语句。 六、测试与调试 完成设计后,...
13. **MySQL数据库交互**:连接数据库(mysqli_connect()或PDO),执行SQL查询(SELECT、INSERT、UPDATE、DELETE),以及处理查询结果(fetch_assoc()、fetch_array()等)。 14. **面向对象编程**:类(class)的...
- SQL可以与多种编程语言集成,如Java、Python、PHP等。 - 在Web开发中,SQL常用于后端数据处理,与前端交互实现动态网页功能。 - SQL还广泛应用于数据分析领域,通过SQL查询可以进行复杂的数据筛选、聚合等操作...
了解类、对象、继承、封装和多态等概念,能提升PHP编程的灵活性和可维护性。 7. **数据库交互**:PHP与MySQL的结合是Web开发的经典组合。资料可能会介绍如何使用PHP进行数据库连接、查询、插入、更新和删除等操作。...
本手册是为想要自学PHP的初学者精心编写的,共计19章,内容详尽,涵盖了PHP的基础到高级知识,旨在帮助读者快速掌握PHP编程技巧。 ### 第一章:PHP简介 本章将介绍PHP的历史、特点、应用领域以及安装和配置PHP环境...
5. **安全措施**:为了防止SQL注入攻击,PHP脚本应使用参数化查询或预编译语句,避免直接拼接用户输入的字符串到SQL语句中。 四、学习与实践 "Cos.X留言板"为初学者提供了很好的学习机会,可以了解PHP基本语法、...
3. **SQL注入**:当用户输入的数据直接拼接到SQL查询中时,如果没有进行适当的过滤,攻击者可以插入恶意SQL代码,可能导致数据泄露、篡改甚至完全控制数据库。使用参数化查询、预编译语句或存储过程可以有效防止此类...