`
ling凌yue月
  • 浏览: 339346 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

php编程——sql查询(条件拼接)

    博客分类:
  • php
阅读更多
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注入测试靶场

    【PHP——SQL注入测试靶场】是一个用于学习和实践SQL注入漏洞的安全平台,它通过PHP编程语言构建,目的是帮助开发者和网络安全爱好者理解SQL注入的工作原理,以及如何防范这种常见的Web安全威胁。SQL注入是一种攻击...

    SQL注入简单总结——过滤逗号注入.pdf

    SQL注入是一种常见的安全漏洞,通常发生在应用程序将用户输入的数据直接拼接到SQL查询语句中,而不进行充分的验证和转义。"SQL注入简单总结——过滤逗号注入"的主题主要探讨了如何处理那些针对逗号(`,`)进行过滤的...

    SQL注入——网络安全问题不容忽视!(五)

    1. 使用预编译语句(参数化查询):如PHP的PDO或MySQLi的预处理语句,它们可以确保用户输入不会干扰SQL语句结构。 2. 输入验证:对用户提交的数据进行严格检查,例如限制长度、格式,甚至使用白名单过滤非法字符。 3...

    PHP实例开发源码——图片批量外链程序 php版.zip

    使用预编译语句、过滤用户输入、避免直接拼接SQL语句是防止SQL注入的有效手段。对于XSS,应确保输出的内容都经过适当的转义或编码。 10. **部署与配置**:程序运行需要合适的服务器环境,如Apache或Nginx,以及PHP...

    PHP视频教程系列——总共22章节(4)

    【PHP视频教程系列——总共22章节(4)】是一个针对初学者和进阶者设计的PHP编程教学资源。这个系列教程通过视频形式,详细讲解了PHP语言的基础知识以及一些高级概念,帮助学习者掌握PHP编程技能。在这个第四部分的...

    【基础篇】第01篇:PHP代码审计笔记--SQL注入1

    【PHP代码审计笔记——SQL注入1】主要探讨的是在PHP环境中如何防止SQL注入攻击,特别是针对MySQL数据库。SQL注入是一种常见的网络安全威胁,攻击者通过构造恶意的SQL语句,利用程序漏洞来执行非授权的操作,如获取...

    PHP视频教程系列——总共22章节(10)

    【PHP视频教程系列——总共22章节(10)】是一个专门为学习PHP编程语言而设计的视频教程资源。本教程涵盖了从基础到进阶的PHP知识体系,旨在帮助初学者和有一定经验的开发者深入理解PHP的语法、函数、类库以及最佳...

    信息安全实验4报告模板.docx

    实验4主要关注的是信息安全中的一个重要议题——SQL注入。SQL注入是一种常见的网络安全威胁,攻击者通过构造恶意的SQL语句来欺骗数据库,获取未经授权的数据或操控数据库。在这个实验中,我们将通过实际操作来理解...

    十天学会PHP

    【PHP教材】——《十天学会PHP》 ... ...PHP的基本语法结构与C语言类似,包括变量声明、常量、数据类型(如整型、浮点型、字符串、布尔型、数组...记住,理论结合实践是学习编程的不二法门,祝你在PHP编程之路上越走越远!

    八维 PHP教程PPT

    【PHP教程PPT——深入理解PHP编程】 "八维 PHP教程PPT" 是一套全面介绍PHP编程语言的教学资料,旨在帮助学习者系统地掌握PHP基础知识和高级特性。PHP(Hypertext Preprocessor)是一种广泛应用于Web开发的开源脚本...

    安全,高新能的PHP mysql-mysqli数据库驱动类,支持主从,分库分表,sql注入防御等,Hi-mydb.zip

    预处理语句能确保SQL语句结构不会被用户输入篡改,参数绑定则将用户输入的数据与SQL语句结构分离,避免了直接拼接字符串导致的安全问题。 五、使用示例 使用Hi-mydb,开发者首先需要创建一个实例,配置数据库连接...

    这个是注入相关的东东

    从给定的文件信息来看,文章主要探讨了与IT安全领域紧密相关的一个重要主题——SQL注入(SQL Injection)。SQL注入是一种常见的网络安全攻击方式,通过在应用程序的输入字段中插入恶意SQL语句,攻击者能够绕过正常的...

    计算机软件毕业设计_+SQL同学录设计与实现_计算机毕业设计源码_计算机毕业设计源代码.rar

    SQL注入是一种常见的安全威胁,应避免在SQL语句中直接拼接用户输入,而应使用参数化查询或预编译语句。同时,为了提高查询效率,可以合理设置索引,避免全表扫描,优化SQL查询语句。 六、测试与调试 完成设计后,...

    PHP从入门到精通(第5版)第4章 PPT.zip

    13. **MySQL数据库交互**:连接数据库(mysqli_connect()或PDO),执行SQL查询(SELECT、INSERT、UPDATE、DELETE),以及处理查询结果(fetch_assoc()、fetch_array()等)。 14. **面向对象编程**:类(class)的...

    SQL21天自学通

    - SQL可以与多种编程语言集成,如Java、Python、PHP等。 - 在Web开发中,SQL常用于后端数据处理,与前端交互实现动态网页功能。 - SQL还广泛应用于数据分析领域,通过SQL查询可以进行复杂的数据筛选、聚合等操作...

    php学习资料chm格式的,很全,是官方编写的,适用于初学者

    了解类、对象、继承、封装和多态等概念,能提升PHP编程的灵活性和可维护性。 7. **数据库交互**:PHP与MySQL的结合是Web开发的经典组合。资料可能会介绍如何使用PHP进行数据库连接、查询、插入、更新和删除等操作。...

    PHP自学手册完整版

    本手册是为想要自学PHP的初学者精心编写的,共计19章,内容详尽,涵盖了PHP的基础到高级知识,旨在帮助读者快速掌握PHP编程技巧。 ### 第一章:PHP简介 本章将介绍PHP的历史、特点、应用领域以及安装和配置PHP环境...

    过滤用户输入元数据的文件

    3. **SQL注入**:当用户输入的数据直接拼接到SQL查询中时,如果没有进行适当的过滤,攻击者可以插入恶意SQL代码,可能导致数据泄露、篡改甚至完全控制数据库。使用参数化查询、预编译语句或存储过程可以有效防止此类...

    Cos.X留言板.rar

    5. **安全措施**:为了防止SQL注入攻击,PHP脚本应使用参数化查询或预编译语句,避免直接拼接用户输入的字符串到SQL语句中。 四、学习与实践 "Cos.X留言板"为初学者提供了很好的学习机会,可以了解PHP基本语法、...

Global site tag (gtag.js) - Google Analytics