August 18, 2007
adodb教程:产生 Update 及 Insert 的SQL指令
"ADODB 1.31版起,新增了两个资料集函数:GetUpdateSQL()及GetInsertSQL()。这允许你在执行了像”Select * FROM table query Where…”这样的查询函数後,建立一个 $rs-\u0026gt;fields复本,改变这些栏位,然後自动产生出更新或是新增的SQL指令。以下我们展示如何运用这些函数,我们将存取一个资料表,带有下列栏位:(ID,FirstName,LastName,Created)。在这些函数被执行前,你需要藉由一个对资料表的查询指令(select)来初始化一个资料集。 #==============================================\n# GetUpdateSQL() 及 GetInsertSQL() 范例码\n#==============================================\ninclude(‘ADOdb.inc.php’);\ninclude(‘tohtml.inc.php’);#==========================\n# …"
August 13, 2007
mysql中DATETIME、DATE 和 TIMESTAMP 类型数据使用
"DATETIME、DATE 和 TIMESTAMP 类型是相似的。这个章节描述了它们的特性以及它们的相似点与不同点。\nDATETIME 类型可用于需要同时包含日期和时间信息的值。MySQL 以 'YYYY-MM-DD HH:MM:SS' 格式检索与显示 DATETIME 类型。支持的范围是 '1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'。(“支持”的含义是,尽管更早的值可能工作,但不能保证他们均可以。)\nDATE 类型可用于需要一个日期值而不需要时间部分时。MySQL 以 'YYYY-MM-DD' 格式检索与显示 DATE 值。支持的范围是 '1000-01-01' 到 '9999-12-31'。\nTIMESTAMP 列类型提供了一种类型,通过它你可以以当前操作的日期和时间自动地标记 Insert 或Update 操作。如果一张表中有多个 TIMESTAMP 列,只有第一个被自动更新。\n自动更新第一个 TIMESTAMP 列在下列任何条件下发生:\n列值没有明确地在一个 Insert 或 LOAD DATA INFILE 语句中被指定。 列值没 …"
August 10, 2007
自定义404页面返回不当状态码
"HTTP 404 错误意味着链接指向的网页不存在。在网站建设中想要完全避免这种情况是不可能的,比如说,我们常常需要对网站进行调整、改版,便会有网页被删除、改名或移动位置,这时候,虽然相应内容的网页还存在于网站中,但使用原来的地址访问则无法访问。——当然,对这类情况首先要考虑的是为原来页面地址做301重定向,以尽可能地减小对SEO效果的影响。——其次,在别人建立指向网站的链接时,也可能会由于出现拼写错误而使其成为一个无效的链接:在网站内找不到相应的内容页面。\n简单说来,这类无效链接是由web服务器自动处理的:当Web 服务器接到类似的数据请求量,会返回一个 404 状态码,告诉对方其要请求的资源并不存在。但是,Web服务器默认的404错误页面,无论Apache还是IIS,均十分简陋、呆板且对用户不友好,无法给予用户寻找相应信息的更多线索,用户看到这类页面往往最直接的反应并是关闭浏览器窗口离开,这在很大程度上给网站造成损失。毕竟,对网站来说,用户永远是最重要的资源,以这种方式损失用户更意味着某种程度的失败。\n这也是许多网站使用自定义404 错误页面的原因。通过良好的自定义404页面,可以包 …"
August 10, 2007
SEO与404错误处理方式
"在“通过HTTP状态码查看搜索引擎蜘蛛如何爬行你的网站”一文中,我介绍了一些经常涉及到的HTTP状态码及含义,譬如大家经常探讨并且与本文相关的Http状态码:\n404:服务器找不到指定的资源,请求的网页不存在(譬如浏览器请求的网页被删除或者移位,但不排除日后该链接有效的可能性); 410:请求的网页不存在(注意:410表示永久性,而404表示临时性); 200:服务器成功返回请求的网页; 301:网址永久性重定向 302:网址临时性重定向\n注意:大部分搜索引擎将“404”与“410”状态同等对待,如Google。(参见Matt Cutts的说明)\n对HTTP404状态码的理解\nHTTP 404 错误意味着链接指向的网页不存在,即原始网页的URL失效,这种情况经常会发生,很难避免,比如说:网页URL生成规则改变、网页文件更名或移动位置、导入链接拼写错误等,导致原来的URL地址无法访问;当Web 服务器接到类似请求时,会返回一个404 状态码,告诉浏览器要请求的资源并不存在。但是,Web服务器默认的404错误页面,无论Apache还是IIS,均十分简陋、呆板且对用户不友好,无法给用户提供必 …"
August 8, 2007
从日志中恢复SQLServer数据库到时间点
"DB2中可以使得数据库回复到指定的时间点,SQL Server数据库的Recovery Model为full 或者Bulk copy的时候,是可以从日志来恢复数据库的。实际上日志中记录的一条一条的transact sql语句,恢复数据库的时候会redo这些sql语句。\n前提条件:myBBS是数据库test中的一个表,\n数据库test的Recovery Model为Full,Auto Close,Auto Shrink两个选项未选中。\n数据库test的data files和log files均为默认的自动增长状态。\nA:2004/10/13,16:00进行数据库备份,backup database test to disk=’d:\\db\\1600.bak’ with init\nB:2004/10/14,13:00对数据库进行了update,delete等操作;\nC:2004/10/15,18:00使用delete mybbs where id\u0026gt;300时,语句误写成delete mybbs,因而删除了表mybbs中的所有数据。\n现在在C点,C点对数据库进行了误操作,我们希望数据库能够 …"
August 7, 2007
在sql server中改变表的所有者
"在对数据库进行移植的时候,经常会发现表的所有者发生了改变,而造成数据表拒绝访问,我们可以通过下面的语句来修改数据表的所有者:\nEXEC sp_changeobjectowner ‘super.article’, ‘dbo’\n这个我们就可以dbo的身份对数据库中的表进行相应的操作了!"
August 6, 2007
adodb和smarty分页类
"class show_Pager { protected$_total; //记录总数 protected$pagesize; //每一页显示的记录数 public$pages; //总页数 protected$_cur_page; //当前页码 protected$offset; //记录偏移量 protected$pager_Links; //url连接 protected$pernum = 5; //页码偏移量,这里可随意更改 publicfunction __construct($total,$pagesize,$_cur_page) { $this-\u0026gt;_total=$total; $this-\u0026gt;pagesize=$pagesize; $this-\u0026gt;_offset(); $this-\u0026gt;_pager(); $this-\u0026gt;cur_page($_cur_page); $this-\u0026gt;link(); } publicfunction _pager()//计算总页数 { return$this-\u0026gt;pages = …"
August 6, 2007
smarty中$cache_lifetime属性的使用
"Setting$cache_lifetimepercache\nrequire(‘Smarty.class.php’);\n$smarty=newSmarty;\n$smarty-\u0026gt;caching=2;//lifetimeispercache\n//setthecache_lifetimeforindex.tplto5minutes\n$smarty-\u0026gt;cache_lifetime=300;\n$smarty-\u0026gt;display(‘index.tpl’);\n//setthecache_lifetimeforhome.tplto1hour\n$smarty-\u0026gt;cache_lifetime=3600;\n$smarty-\u0026gt;display(‘home.tpl’);\n//NOTE:thefollowing$cache_lifetimesettingwillnotworkwhen$caching=2.\n//Thecachelifetimeforhome.tplhasalreadybeenset …"
August 4, 2007
ADODB中几个有用的函数
"**GetOne($sql,$inputarr=false)**Executes the SQL and returns the first field of the first row. The recordset and remaining rows are discarded for you automatically. If an error occur, false is returned.**GetRow($sql,$inputarr=false)**Executes the SQL and returns the first row as an array. The recordset and remaining rows are discarded for you automatically. If an error occurs, false is returned.GetAll($sql,$inputarr=false)\nExecutes the SQL and returns the all the rows as a 2-dimensional array. …"
August 3, 2007
Pagefile.sys是什么文件?
"是系统页面文件,跟你的休眠有关系,一般等于你的内促农大小或者虚拟内存大小,可以在别的操作系统下删除,但是你下次登陆,它又自动生成。 默认是在系统盘的 只要你没有更改 用Winrar打开系统盘就能看到 修改的话可以用下面的方法找到所在磁盘以及修改 Windows 9x的虚拟内存分页位置,其实就是保存在C盘根目录下的一个虚拟内存文件(也称为交换文件)Win386.swp,它的存放位置可以是任何一个分区,如果系统盘C容量有限,我们可以把Win386.swp调到别的分区中,方法是在记事本中打开System.ini(C:\\Windows下)文件,在[386Enh]小节中,将“PagingDrive=C:WindowsWin386.swp”,改为其他分区的路径,如将交换文件放在D:中,则改为“PagingDrive=D:Win386.swp”,如没有上述语句可以直接键入即可。 而对于使用Windows 2000和Windows XP的,可以选择“控制面板→系统→高级→性能”中的“设置→高级→更改”,打开虚拟内存设置窗口,在驱动器[卷标]中默认选择的是系统所在的分区,如果想更改到其他分区中,首先要把 …"