#
where 1=1有什么用?在SQL语言中,写这么一句话就跟没写一样。
select * from table1 where 1=1与select * from table1完全没有区别,甚至还有其他许多写法,1<>2,'a'='a','a'<>'b',其目的就只有一个,where 的条件为永真,得到的结果就是未加约束条件的。
在SQL注入时会用到这个,例如select * from table1 where name='lala'给强行加上select * from table1 where name='lala' or 1=1这就又变成了无约束的查询了。
最近发现的妙用在于,在不定数量查询条件情况下,1=1可以很方便的规范语句。例如一个查询可能有name,age,height,weight约束,也可能没有,那该如何处理呢?
String sql=select * from table1 where 1=1
为什么要写多余的1=1?马上就知道了。
if(!name.equals("")){
sql=sql+"name='"+name+"'";
}
if(!age.equals("")){
sql=sql+"age'"+age+"'";
}
if(!height.equals("")){
sql=sql+"height='"+height+"'";
}
if(!weight.equals("")){
sql=sql+"weight='"+weight+"'";
}
如果不写1=1呢,那么在每一个不为空的查询条件面前,都必须判断有没有where字句,否则要在第一个出现的地方加where
where 1=1的写法是为了检化程序中对条件的检测
打个比方有三个参数a, b, c
@sql=select * from tb'
这三个参数都可能为空
这时你要构造语句的话,一个个检测再写语句就麻烦
比如
if @a is not null
@sql=@sql + " where a=' + @a
if @b is not null
这里你怎么写?要不要加where 或直接用 and ?,你这里还要对@a是否为空进行检测
用上 where 1=1 之后,就不存在这样的问题, 条件是 and 就直接and ,是or就直接接 or
拷贝表
create table_name as select * from Source_table where 1=1;
复制表结构
create table_name as select * from Source_table where 1 <> 1;
摘要: Groovy入门教程 kmyhy@126.com 2009-5-13 一、groovy是什么 简单地说,Groovy 是下一代的java语言,跟java一样,它也运行在 JVM 中。 作为跑在JVM中的另一种语言,groovy语法与 Java 语言的语法很相似。同时,Groovy 抛弃了java烦琐的文法。同样的语句,使用groovy能在最大限度上减少你的击键次数—R...
阅读全文
response.encodeRedirectURL作用
session对象能和客户建立意义对应的关系依赖于客户的浏览器是否支持cookie,如果客户的浏览器不支持的话,那么客户再不同网页之间的session对象可能时互不相同的,因为服务器无法将ID存放到客户端,就不能建立session对象和客户的一一对应关系。可以通过URL重写来实现session对象的唯一性。所谓URL重写就是当客户从一个页面重新连接到一个页面时,通过向这个新的URL添加参数,把session对象的id传过去,这样能够保证session对象是完全相同的。可以使用response对象调用encodeURL()或encodeRedirectURL()方法实现URL重写。
eg:
String str=response.encodeRedirectURL("hope.jsp");
连接目标写成:<%=str%>即可。
encodeURL()是本应用级别的,encodeRedirectURL()是跨应用的。
以下时网上搜索到的解析:
第一种解释:
作用:
Encodes the specified URL for use with redirect( ) by adding an necessary session ID.
Example
Response.redirect( Response( ).encodeRedirectURL( url ) )
第二种解释:
1.response.encodeRedirectURL(url)是一个进行URL重写的方法, 使用这个方法的作用是为了在原来的url后面追加上Jsessionid 。 目的是保证即使在客户端浏览器禁止了cookie的情况下,服务器端仍然能够对其进行事务跟踪.
2.response.sendRedirect(url) 是一个url重定向的方法, 服务器端的通过该方法,“告诉”客户端的浏览器去访问url所指向的资源
第三种解释:
对于要进行跳转时把url encode
如: response.sendRedirect(response.encodeRedirectURL("dfddf.jsp?na=上海"));
不encode时getParameter("na")是乱码
paypal集成到网站一般有两种:Website Payment Standard WPS 网站付款专业版和 Express Checkout快速结账;
但是有的用户也会问道 Website Payments Pro,这里就来给大家讲讲这三者的区别。
一、Website Payment Standard WPS(IPN)网站标准版,客户需要在网站注册才可以完成购买流程。不会在购物车显示paypal按钮。
二、Express Checkout快速结账专业版的与WPS主要区别是:check out为快速支付,在购物车页面直接显示paypal支付的按钮,可直接进入paypal页面付款,不注册成网店会员即可完成购买,但是也可以走正常的注册会员流程。
三、Website Payments Pro需要是美国的账号才可以用。且收取月服务费用。
另外美国账户在国内是无法享受客户服务和顾问服务的,一般的商家不建议使用
注意:这三个paypal只能集成其中的一个,如果同时出现多个,会导致冲突,收款出错。
一般的商家,如果有自己专业的技术团队,可选择Express Checkout,如果没有专门的技术维护,建议选择WPS.
众所周知,对于链接和图片,我们可以通过添加title属性以显示一些说明文字,一般情况下,这些文字都是显示成一行,那么有没有办法让它以多行的方式显示呢?解决的方法有两种:
1.将title属性分成几行来写,例如:
<a href=#" title="说明一
说明二
说明三">印象派</a>
2.第一行相对来说不够直观,我们还可以在需换行的地方添加
(将&改为半角,下同)或
来实现:
<a href=#" title="说明一
说明二
说明三">印象派</a>
<a href=#" title="说明一
说明二
说明三">印象派</a>
==================
response.write " title='标 题:" & rsArticleList("Title") & vbcrlf & "作 者:" & rsArticleList("Author") & vbcrlf & "转 贴 自:" & rsArticleList("CopyFrom") & vbcrlf & "更新时间:" & rsArticleList("UpdateTime") & vbcrlf
response.write "点 击 数:" & rsArticleList("Hits") & vbcrlf & "关 键 字:" & mid(rsArticleList("Key"),2,len(rsArticleList("Key"))-2) & vbcrlf & "推荐等级:"
直接换行就可以
=======================
<a href='http://www.updateweb.cn' target='_ablank' title='标 题:更新网络
作 者:Sundy
转 贴 自:本站原创
更新时间:2008-6-6 10:31:00
点 击 数:0
关 键 字:更新网络
推荐等级:无
分页方式:不分页
阅读等级:游客
阅读点数:0'>更新网络</a>
<div title="123"
456">text</div>
<p><a href=#" title="说明一
说明二
说明三">印象派</a>
<a href=#" title="说明一
说明二
说明三">印象派</a></p>
===========================
function decodeHTML(fString)
if not isnull(fString) then
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
fString = Replace(fString, " ", CHR(32))
fString = Replace(fString, " ", CHR(9))
fString = Replace(fString, """, CHR(34))
fString = Replace(fString, CHR(39),"'")
fString = Replace(fString, "</P><P> ",CHR(10) & CHR(10))
fString = Replace(fString, "<BR> ", CHR(10))
decodeHTML = fString
end if
end function
function encodeHtml()
替换成unicode字符就可以
摘要: 一:PHP本身的SOAP所有的webservice都包括服务端(server)和客户端(client)。要使用php本身的soap首先要把该拓展安装好并且启用。下面看具体的code首先这是服务端实现:PHP Code复制内容到剪贴板<?php class test { &nb...
阅读全文
function get_client_ip() {
if(getenv('HTTP_CLIENT_IP')){
$client_ip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) {
$client_ip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {
$client_ip = getenv('REMOTE_ADDR');
} else {
$client_ip = $_SERVER['REMOTE_ADDR'];
}
return $client_ip;
}
获取服务器端IP地址
function get_server_ip() {
if (isset($_SERVER)) {
if($_SERVER['SERVER_ADDR']) {
$server_ip = $_SERVER['SERVER_ADDR'];
} else {
$server_ip = $_SERVER['LOCAL_ADDR'];
}
} else {
$server_ip = getenv('SERVER_ADDR');
}
return $server_ip;
}
如何让自己在面试中脱颖而出,给招聘人员留下深刻的影响,想必很多求职者都想过这类问题?本文作者通过对国外大中小的面试调查,发现他们看重面试者以下技能:定量分析、Excel、创造性思维、沟通能力和谦逊的品格。
Becky Fisher是Beyond Business Summer Bootcamp公司的创始人,最近她总结了面试者在面试过程中招聘方最看重的技能。以下为译文:
不管你是大学生还是刚打算找工作,或是想在一个新的领域重新开始工作,你都该反问下自己:“我想找什么样的工作?”或者是“怎样才能获得一份更好的工作?”
通过对Google、Amazon、Facebook这样的巨头公司,和类似Castlight、Room77的中小型企业的面试调查,我们发现,他们招聘员工时,看重很多技能,出人意料的是,他们并不看重员工是否精明。而他们特别需要的技能都是可以通过后天学习取得的。一起来看下可以让你从众多招聘者中脱颖而出的5个技能吧。
1. 定量分析
定量分析是对社会现象的数量特性、数量关系与数量变化的分析。数据是许多组织的重要组成部分,所以你的组织、分析、解释和呈现数据能力是很重要的。不管是在做应用程序还是寻找不同的办法来吸引用户。特别说明下,招聘公司很重视组织数据和基于数据进行组织的能力。如果你有挖掘数据的能力,并有自己的见解,那么在竞争中将很有优势。(面试时,你可以带上曾经做过的关于数据分析的项目)。
技能获得方法:MOOCs是学习数据分析的重要资源。你可点击进入Exploratory Data Analysis、Udemy或者EdX,学习定量分析的方法。
2. Excel
管理数据分析中最主要工具是什么?Excel。Excel在工作中会经常遇到,而且公司不会花时间去教你怎样使用Excel。所以,如果你能精通Excel,在录取中也会占有一定的优势。
技能获得方法:可以上网搜索下Excel的使用方法教程,或者点击进入微软免费的Excel视频教程,进入学习。
3. 创造性思维
当今企业界发展步伐异常快,招聘企业对那些有创新能力和能超越现状的求职者很感兴趣。他们希望自己的员工能够有拓展性思维,不安于现状,从第一天上班时起就能有与其他员工分享自己的想法,最好可以提高公司当前的工作系统。但是,创造性思维有点不好学习。
技能获得方法:实际上,根本没有什么教程可以帮你提高创造性思维,但你可通过斯坦福大学的Design Thinking Class或者Creative Confidence进行学习。
4. 沟通能力
一般情况下,招聘公司都想找一些沟通能力比较强的员工。因为公司日后需要你可以有效的与客户进行电话、邮件及日常生活的交流,你的一言一行都将代表公司的形象。更重要的是,公司希望你能以简洁专业的语言来表达自己的某些看法。所以,在面试过程中,多向招聘人员展示下你的沟通能力。
技能获得方法:多与他人进行沟通,可以提高你的沟通能力,而且还要听取别人的反馈意见。
5. 谦逊的品格
有人看到谦逊会觉得奇怪,但是这个技能却是招聘人员看中的重要技能之一。当然,招聘公司需要有自信、有激情,也要乐于学习的员工。在面试时,如果被要求分享自己的想法或主意的时候,大胆的说出来。如果被指出错误,虚心的接受。多问面试人员一些问题,比如公司的一些情况和应聘岗位的一些工作。
技能获得方法:就像Nike说的,Just Do It。大方一点、谦逊,证明自己不仅工作灵活性强,还乐于接受别人的意见。最重要的是,还能把别人提的有利意见融入到工作中。
摘要: 【题目要求】模拟实现十字路口的交通灯管理系统逻辑,具体有以下需求1). 异步随机生成按照各个路线行驶的车辆举例说明如下:. 由南向北行驶的车辆 ----直行车辆. 由西向南行驶的车辆 ----右转车辆. 由东向南行驶的车辆 ----左转车辆…2). 信号灯颜色选择范围忽略黄灯,只考虑红灯和绿灯3). 左转车辆和右转车辆的要求. 左转车辆受到控制信号灯的控制. 但是右转车辆不受信号灯控制...
阅读全文
摘要: 这几天主要是狂看源程序,在弥补了一些以前知识空白的同时,也学会了不少新的知识(比如 NIO),或者称为新技术吧。线程池就是其中之一,一提到线程,我们会想到以前《操作系统》的生产者与消费者,信号量,同步控制等等。一提到池,我们会想到数据库连接池,但是线程池又如何呢?建议:在阅读本文前,先理一理同步的知识,特别是syncronized同步关键字的用法。关于我对同步的认识,要缘于大三年的一本书,书名好像...
阅读全文