注册 登陆
浏览模式: 标准 | 列表 全部文章

PHP 异常处理

异常(Exception)用于在指定的错误发生时改变脚本的正常流程。

» 阅读全文

关于 FROM a,b 和 a LEFT JOIN b 的区别

例表a


aid adate


1 a1


2 a2


3 a3


表b


bid bdate


1 b1


2 b2


4 b4


两个表a,b相连接,要取出id相同的字段


select * from a ,b where a.aid = b.bid这是仅取出匹配的数据.


此时的取出的是:


1 a1 b1


2 a2 b2


那么left join 指:


select * from a left join b on a.aid = b.bid


首先取出a表中所有数据,然后再加上与a,b匹配的的数据


此时的取出的是:


1 a1 b1


2 a2 b2


3 a3 空字符


同样的也有right join


指的是首先取出b表中所有数据,然后再加上与a,b匹配的的数据


此时的取出的是:


1 a1 b1


2 a2 b2


4 空字符 b4

PHP字符串替换函数 strtr 浅谈

原文出处 http://blog.asdjkl.net/archives/8

先来看看这个php字符串替换函数 strtr()的两种状态

strtr(string,from,to)
或者strtr(string,array)

首先针对strtr函数第一种方式
我们看看下面的举例:

1
2
3
<?php
echo strtr("I Love you","Lo","lO");
?>

得到的结果是

1
I lOve yOu

这个结果提醒我们
1.strtr它是区分大小写的
2.strtr的替换是很特殊的,你注意看后面那个yOu,中间的O被替换的,这显然不是我们的本意

再举一个特殊例子,说明这个php sttr函数的怪异

1
2
3
<?php
echo strtr("I Love you","Love","");
?>

结果是

1
I Love you

什么也不会改变,所以strtr需要注意的是:
3.不能被替换为空,也就是末位那个参数不能是空字符串,当然空格是可以的。

再次举例strtr函数的另一种情况

1
2
3
<?php
echo strtr("I Loves you","Love","lOvEA");
?>

结果是

1
I lOvEs yOu

注意看第三个参数的A,在结果中并没有出现
4.我不建议用strtr以少换多

ok,既然这个strtr函数挺麻烦为什么还要用呢?
原因是,它的速度很快
据说,strtr 比 str_replace 快四倍
所以
5.能用strtr函数的时候一定要用

那怎么用才舒服?
这就是它的第二种情况
strtr(string,array)
6.strtr符合意愿的使用方法

1
2
3
4
<?php
$table_change = array('you'=>'her sister');
echo strtr("I Love you",$table_change);
?>

结果为
I Love her sister

7.小技巧:你想到替换什么你就往数组加什么
比如

1
2
3
4
5
<?php
$table_change = array('you'=>'her sister');
$table_change += array('Love' => 'hate');
echo strtr("I Love you",$table_change);
?>

结果是
I hate her sister

再次提醒那个Love 写成love 是行不通的哦。

ok,乱七八糟说了一通,其实关于strtr最想说的就是这个后面的用法了
简单方便。
貌似后面的用法也忽略掉了前后字符长度不同的问题

以上php strtr函数实验,PHP5.2 测试通过。

相当好的smarty文章 功能俱全啊

N多smarty范例 先抓进来了

» 阅读全文

相当不错的phpmailer 乱码

  $mail = new PHPMailer();
  $mail->CharSet = "GB2312"; // 设置字符集编码 utf-8
  $mail->Encoding = "base64";//设置文本编码方式

php判断Email,Url,手机号码 合法性


1. 判断:

<?php
function is_email($email){
return strlen($email) > 6 && preg_match("/^[\w\-\.]+@[\w\-]+(\.\w+)+$/", $email);
}
?>

2. 判断:

function is_url($str){
 
return preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"])*$/", $str);
 
}

3. 判断手机号码:

function is_mobile($str){
 
return preg_match("/^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/", $str);
 
}

表单点击提交按钮后变成灰色不可再次点击

<input type="button" value="提交" onclick="javascript:{this.disabled=true;document.form1.submit();}">

100个成功经验告诉您 — 生意人如何做生意(转)

老板的大忌:全天下的男人都会犯下的错误是色,英雄难过美人关。很多人有钱到一半,就会享受,开始酒池肉林,百花丛中有花就堪折,这样很快就会财富消散,因为赚钱不是加减法而是乘除法……

» 阅读全文

编辑office文件出现tmp后缀文件的解决方法(转)

自从安装卡巴斯基2009后,编辑EXCEL文件后,同一目录就会自动出现两个TMP后缀文件,而且还不是隐藏文件,也无法删除,试了很多办法,重装几个版本OFFICE都没用。
现提供两种解决办法:
方法一、
a. 关闭卡巴斯基的自我保护(方法:打开卡巴斯基的设置界面,点击选项---启用自我保护,将前面的勾去掉,点击确定。)
b.在开始---运行里,输入regedit,打开注册表,浏览到HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/KLIF/Parameters 新建NonCachedIo,类型Dword,健值为1。
C. 重启计算机,启用卡巴斯基的自我保护。
重启后,以前的TMP文件可以删除,编辑OFFICE文件也不产生这种文件了。至此问题解决,希望对同样安装了卡巴2009的朋友有所帮助。
方法二、
卡巴中:设置----保护----反恶意程序----文件和内存----启用文件和内存保护----设置----附加,将“快速模式”改为“访问和修改时”或者"访问时"

SQL2005 COM+出错

无法在 COM+ 目录中安装和配置程序集 K:\Program Files\Microsoft SQL Server\90\NotificationServices\9.0.242\Bin\microsoft.sqlserver.notificationservices.dll。错误: -2146233087
错误消息: Unknown error 0x80131501
错误说明: 事务管理器不可用。 (异常来自 HRESULT:0x8004D01B)
 

开启services.msc里面的Distributed Transaction Coordinator也就是运行msdtc.exe即可