2011-03-23 / php+Mysql

inner join(等值连接):只返回两个表中联结字段相等的行;

left join(左联接):返回包括左表中的所有记录和右表中联结字段相等的记录;

right join(右联接):返回包括右表中的所有记录和左表中联结字段相等的记录。

inner join:只返回符合条件的table1和table2的列

full join:返回所有列 左边在右边没有的补null 右边在左边没有的也补null

 

比如我们有xs、cj两个表

xs表                                 cj表

阅读全文...
2011-03-22 / php+Mysql

static静态变量

什么是static静态变量?(以下为在C语言中的理解)

静态变量 类型说明符是static。

静 态变量属于静态存储方式,其存储空间为内存中的静态数据区(在静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在 程序整个运行期间都不释放),也可以认为是其内存地址不变,直到整个程序运行结束(相反,而auto自动变量,即动态局部变量,属于动态存储类别,占动态 存储空间,函数调用结束后即释放)。静态变量虽在程序的整个执行过程中始终存在,但是在它作用域之外不能使用。

另外,属于静态存储方式的量不一定就是静态变量。 例如:外部变量(在PHP中指全局变量)虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。

所有的全局变量都是静态变量,而局部变量只有定义时加上类型修饰符static,才为局部静态变量。

阅读全文...
2011-03-21 / php+Mysql

最烂的方法就是通过$_FILES[...]['type']来检测上传文件的类型,因为只需简单修改文件扩展名就可以伪造它。

另一个相对安全点的方法是通过文件头两个字节的内容来判断上传文件的类型,例子代码如下:

Php 代码 $handle = fopen($_FILES[...]['tmp_name'], 'rb');  $content = fread($handle, 2);   fclose($handle);      $info = unpack('c2chars', $content);    if (emptyempty(阅读全文...
2011-03-21 / php+Mysql
form部分:
除了判断表单,再者就是加上
调用js:
<a
onclick="if(checkts()){sendRequest();}else{return false;}" href="#">发送</a>
<script type="text/javascript" src="{DT_PATH}javascript/ajax_rightmes.js"></script>

js部分:
//公司主页无刷新发送信息
function $(oop){
return document.getElementById(oop);
}

阅读全文...
2011-03-21 / php+Mysql
1,年-月-日
echo date('Y-m-j'); //2007-02-6
echo date('y-n-j'); //07-2-6
大写Y表示年四位数字,而小写y表示年的两位数字;
小写m表示月份的数字(带前导),而小写n则表示不带前导的月份数字。

echo date('Y-M-j'); //2007-Feb-6
echo date('Y-m-d'); //2007-02-06

大写M表示月份的3个缩写字符,而小写m则表示月份的数字(带前导0);
没有大写的J,只有小写j表示月份的日期,无前导o;若需要月份带前导则使用小写d。

echo date('Y-M-j'); //2007-Feb-6
echo date('Y-F-jS'); //2007-February-6th

大写M表示月份的3个缩写字符,而大写F表示月份的英文全写。(没有小写f)
大写S表示日期的后缀,比如“st”、“nd”、“rd”和“th”,具体看日期数字为何。阅读全文...
2011-03-21 / Javascript
//验证邮件地址
function isemail(aemail){
var rule=/^([w-]+(?:.[w-]+)*)@((?:[w-]+.)*w[w-]{0,66}).([a-z]{2,6}(?:.[a-z]{2})?)$/i;
if (!rule.test($(aemail).value)){
return false;
}
return true;
}
//验证电话号码
function isphone(aphone){
var rule = /^(((()?d{2,4}())?[-(s)*]){0,2})?(d{7,11})$/;
if (!rule.test($(aphone).value)){
return false;
}
return true;
}阅读全文...
2011-03-21 / php+Mysql
使用方法:
<a href="javascript:void(0)" onclick="favorite(window.location,document.title)">收藏本页</a>
<a href="javascript:void(0)" onClick="SetHome(this,window.location)" id="homepage">设为首页</a>
<script language="javascript">
function SetHome(obj,vrl){
try{
obj.style.behavior='url(#default#homepage)';obj.setHomePage(阅读全文...
2011-03-21 / php+Mysql
以下的文章主要是对MySQL limit查询优化的具体内容的介绍,我们大家都知道MySQL数据库的优化是相当重要的。其他最为常用也是最为需要优化的就是limit。MySQL的 limit给分页带来了极大的方便,但数据量一大的时候,limit的性能就急剧下降。 同样是取10条数据 s      以下的文章主要是对MySQL limit查询优化的具体内容的介绍,我们大家都知道MySQL数据库的优化是相当重要的。其他最为常用也是最为需要优化的就是limit。MySQL的 limit给分页带来了极大的方便,但数据量一大的时候,limit的性能就急剧下降。

  同样是取10条数据



select * from yanxue8_visit limit 10000,10       select * from ya阅读全文...
2011-03-21 / php+Mysql

SQL注入漏洞全接触--入门篇[转]

随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序 员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判 断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。
但是,SQL注入的手法相当灵活,在注入的时候会碰到很多意外的情况。能不能根据具体情况进行分析,构造巧妙的SQL语句,从而成功获取想要的数据,是高手与“菜鸟”的根本区别。
根 据国情阅读全文...
2011-03-21 / php+Mysql
1,用户登录bbs,通过logging.php文件中,使用函数uc_user_login验证,如果验证成功,将调用函数uc_user_synlogin(位于uc_client下的client.php文件中),在这个函数中调用uc_api_p阅读全文...