草庐IT

SQL语句分类

全部标签

php - 使用 php 正确编写的 PostgreSQL 准备/执行语句?

我听说在SQL语句中使用PREPARE和EXECUTE会将用户提供的数据净化为无法进行SQL注入(inject)的数据。这是真的吗?我原来的查询是这样的:$query="SELECT*FROMsales_ordersWHEREksisoldbyILIKE'".$user."'";这是我将其更改为准备/执行语句的最佳猜测:是否正确编写/调用?还有一些我读过的内置php对象(PDO)。我应该改用它们还是结合使用它们?感谢您对此类广泛问题的帮助。 最佳答案 您通过使用预准备语句将prepare()和execute()合并到PHP中,这些语

php - 防止 SQL 注入(inject)

我正在尝试学习php并想使用一个函数来保护表单免受SQL注入(inject)攻击!但是以某种方式记录我的数据库中的每个数据,其中包含任何特殊字符,如'"=)/()/*/我的过滤函数:functionfilter($data){$data=trim(htmlentities(strip_tags($data)));if(get_magic_quotes_gpc())$data=stripslashes($data);$data=mysql_real_escape_string($data);return$data;}注册页面获取POST数据:foreach($_POSTas$key=>$

php - 在 html 表中显示 SQL 表数据不起作用

我正在尝试从sql表中查询和选择数据,然后将其显示在html中。这是我的代码。$result=mysqli_query($dbhandle,$query)ordie(mysql_error().'SQL:'.$query);echo'';while($row=mysqli_fetch_array($result)){echo'';echo'{$row['first_name']}';echo'{$row['last_name']}';echo'{$row['grade']}';echo'{$row['gpaP']}';echo"{$row['AGP']}";echo"{$row['aw

php - 准备好的语句mysqli不返回行

我有一些带有准备好的语句的php代码。它是通过javascript中的Ajax调用的。我确定在帐户表中有一个名为mark(无上限)的帐户,但是当我将$_POST['query']设置为m调用它时,它发现$stmt->num_rows===0为真。看不出任何错误,就是不行!如您所知,它正在将内容回显到表格中。我在phpMyAdmin中尝试了这个查询:SELECTusernameFROMaccountsWHEREusernameLIKE'%m%'并且它工作正常。我创建这段代码是为了在mysql数据库中搜索用户名。如果您想知道,$conn是包含文件中定义的有效mysqli对象。stmt_in

php - 从 Propel ORM 捕获 SQL 通知

我有一个大型SQL函数,我想通过PHP/Propel使用准备好的语句在PostgreSQL数据库上执行,如下所示:$sql="lotsofSQLstatements";$statement=$propelPDO->prepare($sql);$statement->execute();在我尝试执行的SQL语句中,有许多调用“raiseinfo...”和“raisewarning...”,它们显示调试信息。从命令行执行SQL,我可以看到这个有助于调试SQL的通知:psql-hhostnamedatabaseusername我的问题:是否有任何方法可以从PHP捕获SQL中引发的信息和警告通

Sql解析转换之JSqlParse完整介绍

1、jsqlparse介绍JSqlParse是一款很精简的sql解析工具,它可以将常用的sql文本解析成具有层级结构的“语法树”,我们可以针对解析后的“树节点(也即官网里说的有层次结构的java类)”进行处理进而生成符合我们要求的sql形式。官网给的介绍很简洁:JSqlParser解析SQL语句并将其转换为Java类的层次结构。生成的层次结构可以使用访问者模式进行访问(官网地址:JSqlParser-Home)。官网的介绍即是该中间件的全部,虽然介绍很短,但是其功能着实强悍。2、jar包结构介绍这里我使用的是4.3版本,maven依赖如下:com.github.jsqlparserjsqlpa

SQL中case when then else end用法

一、阐述         casewhenthenelseend可以理解为java的if-elseif-else。可以理解为流程控制语句或条件控制语句。可以实现资料获取的时候,可以更多的条件和自定义逻辑。适用情景对已知的数据库中数据,按照自己的逻辑,进行自定义分组和数据分析用此条件控制语句,实现自定义条件分组条件控制语句中嵌套函数达到理想的计算效果二、具体使用1.已知数据按照另外一种方式进行分组,分析。有如下数据:(为了看得更清楚,我并没有使用国家代码,而是直接用国家名作为primarykey)国家(country)人口(population)中国600美国100加拿大100英国200法国30

php - 我应该在 HTML 中的什么地方放置 PHP include/require 语句?

我在一个文件中创建了一个PHP类,现在我想在我的HTML页面中使用它。我应该把require放在哪里?或includeHTML页面中的语句?在HTML的开头或结尾加载它是否有性能差异,还是根本没有差异?应该是早于PHP脚本,所以如果类太长,字符集不会有任何问题吗?例子:NothingShowClientList();?> 最佳答案 您必须将它放在依赖于它的代码被调用之前的任何地方。否则,您放置它的位置不会影响性能。许多应用程序通常将它们所依赖的文件包含在文件的顶部,因为这样可以更轻松地跟踪您正在使用的内容。

php - 如何在sql中按周对数据进行分组?

我得到的表格值如下表所示NameCityDatea1Mar222013b2Apr192013c3Apr202013d4Apr222013e5Apr272013f6Apr302013g7Jun52013我得到了如上表所示的值。今天的日期是2013年4月25日。我需要将这些值从+7和-7分组,比如2013年4月18日到2013年6月2日。请帮助我做到这一点。 最佳答案 select*fromyourTablewhereDATEDIFF(day,'2013-04-25',[Date])between-7and7如果查询运行时需要当前日期,

php - PDO、准备好的语句和 SQL 注入(inject)

在阅读了几篇关于PDO和MySQLi准备语句的文章之后,也已经阅读了stackoverflow.com上关于准备语句和SQL注入(inject)的数十个问题,人们说通过正确使用准备语句,不再需要从中转义条目用户,但我认为我仍然担心存在安全问题。第一个问题:如果我在准备好的语句中使用它们之前仍然使用reg-exp和转义来清理条目,这是否就像我过度使用它一样?第二个问题:如果准备好的语句正在做关于SQL注入(inject)的工作-来自人们的评论和回答-为什么仍然有受损的数据库和越来越多的关于信用卡号码和密码的暴露数据,甚至来自“大”和知名网站?这是否意味着准备好的陈述本身并没有那么免疫,或