CentOS5.3安装Oracle11g(图文)(二)

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://fantlam.blogbus.com/logs/43412706.html

接下来是检测所需要的包

参照官方文档

Asianux 3.0, Oracle Enterprise Linux 5.0, and Red Hat Enterprise Linux 5.0

The following packages (or later versions) must be installed:
binutils-2.17.50.0.6-2.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125
gcc-4.1.1-52
gcc-c++-4.1.1-52
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-headers-2.5-12
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.1-52
libstdc++-4.1.1
libstdc++-devel-4.1.1-52.e15
make-3.81-1.1
sysstat-7.0.0

所以我们要一个一个检测看有没缺 使用命令 rpm -qa | grep (rpm -q也可以)

我把找出来的标为蓝色

[root@localhost ~]# rpm -qa | grep binutils

binutils-2.17.50.0.6-9.el5

[root@localhost ~]# rpm -qa | grep compat

compat-gcc-34-3.4.6-4

compat-libstdc++-296-2.96-138

compat-gcc-34-c++-3.4.6-4

avahi-compat-libdns_sd-0.6.16-1.el5

compat-gcc-34-g77-3.4.6-4

compat-glibc-2.3.4-2.26

compat-glibc-headers-2.3.4-2.26

compat-libf2c-34-3.4.6-4

compat-libstdc++-33-3.2.3-61

java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

[root@localhost ~]# rpm -qa | grep elfutils

elfutils-0.137-3.el5

elfutils-libelf-devel-0.137-3.el5

elfutils-libelf-devel-static-0.137-3.el5

elfutils-libelf-0.137-3.el5

elfutils-libs-0.137-3.el5

[root@localhost ~]# rpm -qa | grep gcc

compat-gcc-34-3.4.6-4

libgcc-4.1.2-44.el5

gcc-c++-4.1.2-44.el5

compat-gcc-34-c++-3.4.6-4

compat-gcc-34-g77-3.4.6-4

gcc-gfortran-4.1.2-44.el5

gcc-4.1.2-44.el5

[root@localhost ~]# rpm -qa | grep glibc

glibc-devel-2.5-34

glibc-2.5-34

glibc-headers-2.5-34

glibc-common-2.5-34

compat-glibc-2.3.4-2.26

compat-glibc-headers-2.3.4-2.26

[root@localhost ~]# rpm -qa | grep libaio

libaio-0.3.106-3.2

[root@localhost ~]# rpm -qa | grep libgcc

libgcc-4.1.2-44.el5

[root@localhost ~]# rpm -qa | grep libstdc

compat-libstdc++-296-2.96-138

libstdc++-4.1.2-44.el5

libstdc++-devel-4.1.2-44.el5

compat-libstdc++-33-3.2.3-61

[root@localhost ~]# rpm -qa | grep make

automake14-1.4p6-13

imake-1.0.2-3

automake-1.9.6-2.1

automake17-1.7.9-7

make-3.81-3.el5

automake16-1.6.3-8

automake15-1.5-16

[root@localhost ~]# rpm -qa | grep sysstat

[root@localhost ~]#

所以总共还缺了2个

binutils-2.17.50.0.6-2.el5

compat-libstdc++-33-3.2.3-61

elfutils-libelf-0.125-3.el5

elfutils-libelf-devel-0.125

gcc-4.1.1-52

gcc-c++-4.1.1-52

glibc-2.5-12

glibc-common-2.5-12

glibc-devel-2.5-12

glibc-headers-2.5-12

libaio-0.3.106

libaio-devel-0.3.106

libgcc-4.1.1-52

libstdc++-4.1.1

libstdc++-devel-4.1.1-52.e15

make-3.81-1.1

sysstat-7.0.0

我们使用FileZilla来传输文件 它支持SSH

记得以前和虚拟机VM之间传文件的时候,第一种就是建立个FTP,这样挺麻烦的,又要建个服务器,配个目录。第二种是利用VM的功能,装虚拟工具,然后可以直接拖文件,但这样也比较局限,只适用于VM。而用filezilla这种方式既不用配置又可以用在真实的主机上,所以这种方式才是最佳选择

把缺的2个rpm和oracle11g传上去 直接拖进去就可以了 我放在了/home里了

传完后,进入home 把rpm装上

[root@localhost ~]# cd /home

[root@localhost home]# ls

libaio-devel-0.3.106-3.2.i386.rpm sysstat-7.0.2-3.el5.i386.rpm

linux_11gR1_database_1013.zip

[root@localhost home]# rpm -ivh *.rpm

warning: libaio-devel-0.3.106-3.2.i386.rpm: Header V3 DSA signature: NOKEY, key ID e8562897

Preparing…                ########################################### [100%]

   1:libaio-devel           ########################################### [ 50%]

   2:sysstat                ########################################### [100%]

[root@localhost home]#

现在是一切准备就绪,可以正式开始了

CentOS5.3安装Oracle11g(图文)(一)

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://fantlam.blogbus.com/logs/43410551.html

在linux安装oracle,一直以来都想做的事,一直都没找到合适的机会

今天结合网上的教程和官方文档,来个安装图解

采用版本 centos5.3 和oracle 11g

centos我们知道是开源免费的,当然官方要求的版本没有包括它,但是它其实就等于redhat enterprise

官方:

On Linux x86 and Linux x86-64:

Asianux 2.0

Asianux 3.0

Oracle Enterprise Linux 4.0

Oracle Enterprise Linux 5.0

Red Hat Enterprise Linux 4.0

Red Hat Enterprise Linux 5.0

SUSE Linux Enterprise Server 10.0

centos5.3就等于redhat enterprice 5 update 3

现在开始。。。首先安装centos5.3 过程我就不多讲了 如果有人不知道怎么安装,可以参考我blog其它文章

安装有几个地方要注意的,一个就是分区

参照官方文档说明

At least 1 GB of RAM

To determine the RAM size, enter the following command:

# grep MemTotal /proc/meminfo

RAMSwap Space

Between 1024 MB and 2048 MB1.5 times the size of RAM

Between 2049 MB and 8192 MBEqual to the size of RAM

More than 8192 MB0.75 times the size of RAM

内存要求是1G以上 swap分区也有大小要求 所以自动的话可以swap分区就会不够,为了保险,还是手动分配一下分区空间 我给了1G多的swap 剩下的给系统分区 还有就是虚拟机空间给大点 默认的8G 第一次我安装就出现空间不足的问题 所以这次我给了16G 保证不会有硬盘不足

第二点就是需要把一些开发包给装上 比如GCC 所以在定制软件那里要把开发的库勾上,而像其它什么音频办公游戏那些东西可以不要掉

之后是装完系统的时候 必须保证它能联网

虚拟机设置网络方式为bridged 方式 采用DHCP 激活网络 则可以上网

输入ifconfig 得出自己的IP为192.168.1.103

这样一个linux主机就算配好了 接下来准备2个工具

远程登录 Putty

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

文件传输 FileZilla

http://filezilla-project.org/download.php?type=client

准备采用的方式是用远程操作,当然直接在linux上也是可以的,不过安装过程有些需要拷贝工作,在windows下用远程比较方便,而且一般真实情况也是通过远程去操作linux主机的,所以本次决定这么做。

准备官方文档

Oracle Database

Installation Guide

11g Release 1 (11.1) for Linux

B32002-06

参看官方文档b32002.pdf(可以到oracle官网选择下载)

Putty是开源小巧的软件 很方面使用 不用安装 因为它支持SSH 而且centos默认已经开了SSH 所以我们输入IP192.168.1.103 端口22登录

还有一点为了保证客户端不会出现中文乱码,我们需要设置一下编码为UTF-8 因为linux编码是UTF-8

登录进去 输入用户名密码 输入命令查看一下系统信息

包括检测内存大小 内核版本 TMP空间够不够的问题 大致上应该没什么问题了

在CentOS5.3上安装Oracle 10g总结文档

一.前言

    之前听坊间传闻说安装Oracle很BT,今日一试,果然如此:<,所以决心把安装中遇到的问题整理成此文档,以备后来者参考。

二.基本配置   

    在安装Oracle之前,我想先说一下机器配置的问题,因为单机器的问题,就可能会浪费你1天多的时间!

(1)硬盘剩余空间:10G以上

    虽然Oracle 10g的安装文件只有800多MB,但安装后的oracle+oraInventory目录会用差不多4G空间,再加上安装时Oracle生成的临时文件 (/tmp目录需要至少400MB)…所以10G的硬盘空间已经是最低配置了,因为你可能还需要应付一些特殊情况。

(2)内存1.5G以上

    官方文档说512M内存也可以安装。是的,确实如此,但安装后能不能正常运行,我就不敢保证了…之前我用一台1G内存的虚拟机安装Oracle 10g,正要启动的时候提示:剩余内存不足。为了避免不必要的麻烦,请把内存加多一些。

(3)Swap交换区2G

三.在CenOS5.3上安装Oracle 10g

1.预备资源

【1】《Oracel 10g官方安装文档

【2】 安装包:10201_database_linux_x86_64.cpio.gz

2.安装Oracle 10g

【1】准备安装

为了避免缺包导致的Error,请在安装Oracle之前执行以下命令:

yum install yum-fastestmirror -y
yum install compat-db*
yum install compat-libc*
yum install compat-gcc*
yum install libXp.so.6
yum install libc-*
yum install libaio*
yum install openmotif
yum install glibc-devel*
yum install libgcc*
yum install gnome-lib*

【2】安装包解压

zcat /tmp/10201_database_linux_x86_64.cpio.gz /data/setupfiles/Oracle/ | cpio -idmv

【3】创建 Oracle 组和用户帐户

创建用于安装和维护Oracle 10g 软件的账户。用户帐户将称为oracle,而组将称为oinstall和dba。以root用户身份执行以下命令:

# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)

设置oracle帐户的口令

# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.

【4】创建目录

创建Oracle 10g及其数据库文件的目录,以root用户身份执行以下命令:

# mkdir -p /data1/oracle
# mkdir -p /data1/oradata
# chown -R oracle:oinstall /data1/oracle /data1/oradata
# chmod -R 775 /data1/oracle /data1/oradata

【5】修改内核参数

安装Oracle 10g需修改内核参数,否则安装检测时会报Failed,甚至导致安装时出现Error。以root身份执行以下命令:

cat >> /etc/sysctl.conf <<EOF
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
EOF

如果检查没有问题后,即可以开始装Oralce 10g。

【6】安装Oracle 10g

(1)先以oracle用户身份登陆XWindow。因为oracle安装会弹出界面让你配置,如果使用putty登陆安装的话,你是没有办法操作弹出框的,所以一定要登录XWindow,然后在Terminal里启动安装程序。

    另外一个问题就是,必须要用oracle用户登陆XWindow,并以oracle用户在Terminal中启动安装程序。为什么不用root权限呢?首 先,以root用户登录XWindow并启动安装程序会出错,提示“The user is root. Oracle Universal Installer cannot continue installation if the user is root.”。如果以root登陆XWindow,以oracle用户在Terminal中启动安装程序,可能会出现某些对话框弹不出来,导致安装卡死的 情况,这种情况之前我就遇到过,虽然不能百分百确定是root登陆XWindow导致的问题,但为了避免不必要的问题,还是以oracle用户登录 XWindow,并用oracle身份启动安装程序。

(2)如果你的系统语言为中文,请把他设置为英文,否则安装的时候会出现乱码。

(3)Terminal中启动Oracle 10g安装程序:

[oracle@vmlincn80ce5 /]$ ./data/setupfiles/Oracle/database/runInstaller

如果一切正常,界面会弹出如下对话框:

如果在Terminal启动runInstaller时遇到“Checking operating system version: must be redhat-2.1, redhat-3, SuSE-9, SuSE-8 or UnitedLinux-1.0 Failed ”这种问题,表明oracle不能识别你的系统内核,这个问题可以通过修改内核配置文件解决,如下:

cat > /etc/redhat-release << EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF

(4)Oracle 10g安装配置

修改Oralce Home Localtion,填写database password后,按“Next”。如图:

(5)数据库配置

修改Inventory directory,Specify Operating System group name选:oinstall,然后“Next”,如图:


(6)Oracle安装前检查

检查一下有什么不符合安装要求,看是否需要修改配置,如果按照上面步骤下来,这里的warning应该为0,然后“Next”。

(7)Install Oracle 10g

直接按“Install”。

(8)Installing…

现在你可以去泡壶乌龙茶了……如果在虚拟机上安装,会花时间会更长些……Zzzzzzz

(9)Configuration Assistant

在软件安装完成之后,会自动进行Configuration Assistant的配置。

包括了Oracle Net Configuration Assistant,Oracle Database Configuration Assistant,iSQL*Plus Configuration Assistant的配置。

当Oracle Database Configuration Assistant配置完成时,会弹出一个确认框,里面记录了一些比较重要的信息,包括:SID,Server Parameter Filename以及Database Control URL等,如图:


这些信息以后比较有用,可以记录下来,然后“OK”。

(10)以root权限运行脚本

当iSQL*Plus Configuration Assistant配置完成时,会弹出一下框,里面有两个Srcipt需要你用root权限运行。


在Terminel中以root权限执行以上两个脚本:

[root@vmlincn80ce5 oradata]# ./orainstRoot.sh
Changing permissions of /data1/oradata to 770.
Changing groupname of /data1/oradata to oinstall.
The execution of the script is complete
[root@vmlincn80ce5 oracle]# ./root.sh
Running Oracle10 root.sh script...

The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /data1/oracle

Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.

然后按“OK”。

(11)Oracle 10g安装完成

恭喜,Oracle 10g终于安装完成了:>,按“Exit”退出安装。


三.后记

    其实现在看来,安装Oracle 10g其实也并不是那么难搞,主要是在安装途中,可能会报出各种各样的Warnning/Error,这多数是系统缺少某些包导致的,如果把“【2.1】 准备安装”中的提到的包都装了,这类的问题应该基本上解决了(实在不行就Google吧…)。然后就是硬盘空间问题,每次Oracle安装都会在 /tmp下生成400MB左右的临时文件,如果安装中途出错退出的话,这些文件好像是不会自动删除的,所以记得把这些垃圾清掉,否则很容易导致硬盘空间不 足。

    关于Oracle的启动,找个时间再写一下。

CentOS 5安装图解

CentOS 5安装图解

CentOS5的安装形势与以往的CentOS有些变化,实际上的安装流程是没有太大的变化的,如果 你用过Fedora5以上的版本,就会发现他们非常的相像。

如果你不确认你的光盘是否完好,你可以选择OK来确认光盘是否完整。

这个地方要注意,因为要选择磁盘或分区,如果是一台机器多各系统,这个地方分区要多加小心。

这个地方按照自己的网络环境进行配置

按照自己的域名和网,以及DNS进行设置

从这里开始,除了开发项目中的开发工具,和基本系统中的基本选择外,其余的项目的选项都不选。

在基本系统的基本选项中的可选软件包中,去掉firstboot-tui。

一个简易的数据库留言簿(PHP)

在完成数据库的链接之后,我们就可以对数据库进行一系列的操作。下面是一个简易的数据库留言簿程序(guestbook.php3):

  我假设你机子上的MySQL数据库以及管理MYSQL数据库的工具 Phpmyadmin_2. 0.5都已经安装完成,并且可以正常工作。

我们要做的第一件事情是创建一个留言数据库,假定名字为: mydb。

1、启动浏览器,打开Phpmyadmin_2. 0.5 的管理WEB界面。

2、在“Create new database”文本框内输入数据库名称mydb,然后按create按键。

  下一步,我们要在该留言数据库下创建一个数据表,假定名字为: guestbook。

创建该数据表的命令如下所示:

CREATE TABLE guestbook (ID INT NOT NULL AUTO_INCREMENT, name CHAR(250), email CHAR(250), job CHAR(250), comments BLOB, PRIMARY KEY(ID));

最后,将下面的留言簿程序挎贝到你机子的可写目录下面,并保存成guestbook.php3文件。就这么简单,你已经有了自己的留言簿了。

10.2 留言簿程序(guestbook.php3):

<?php
/* $host : your MySQL-host, usually ‘localhost’ */
/* $user : your MYSQL-username */
/* $password : your MySQL-password */
/* $database : your MySQL-database */
/* $table : your MySQL-table */
/* $page_title : the title of your guestbook-pages */
/* $admin_mail : email-address of the administrator to send the new entries to */
/* $admin_name : the name of the administrator */
/* $html_mail : say yes if your mail-agent can handle HTML-mail, else say no */

$host = "localhost";
$user = "";
$password = "";
$database = "mydb";
$table = "guestbook";
$page_title = "pert guestbook";
$admin_mail = "pert@21cn.com";
$admin_name = "Webmaster";
$html_mail = "no";

?>
<HTML>
<HEAD>
<TITLE><?php echo $page_title; ?></TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" LINK="#000000">
<FONT FACE="Verdana" SIZE="-2">
<?

/* connect to the database */
mysql_pconnect("$host","$user","$password") or die("Can’t connect to the SQL-server");
mysql_select_db("$database");

/* action=view : retrieve data from the database and show it to the user */
if($action == "view") {

/* function for showing the data */
function search_it($name) {

/* some vars */
global $offset,$total,$lpp,$dir;
global $table,$html_mail,$admin_name,$admin_mail;

/* select the data to get out of the database */
$query = "SELECT name, email, job, comments FROM $table";
$result = mysql_query($query);
$total= mysql_numrows($result);

print "<CENTER><FONT FACE="Verdana" SIZE="-2"><A HREF="guestbook.php3?action=add" onMouseOver="window.status=’Add your name';return true" onMouseOut="window.status=”;return true" TITLE="Add your name">加入留言</A></FONT></CENTER><br><br>";

if ($total== 0) {
print "<CENTER>此刻没人留言</CENTER><br><br>"; }

elseif ($total> 0) {

/* default */
$counter=0;
if ($dir=="") $dir="Next";
$lpp=5;
if ($offset==0) $offset=0;

if ($dir=="Next") {

if ($total > $lpp) {

$counter=$offset;
$offset =$lpp;
$num=$offset;

if ($num > $total) {
$num=$total; } }

else {
$num=$total; } }

elseif ($dir=="Previous") {

if ($total > $lpp) {
$offset-=$lpp;

if ($offset < 0) {
$offset=0; }

$counter=$offset-$lpp;

if ($counter < 0)
$counter=0;
$num=$counter $lpp; }

else {
$num=$total; } }

while ($counter < $num) {
$j=0;
$j=$counter 1;

/* now really grab the data */
$i1=mysql_result($result,$counter,"name");
$i2=mysql_result($result,$counter,"email");
$i3=mysql_result($result,$counter,"job");
$i4=mysql_result($result,$counter,"comments");

$i4 = stripslashes ("$i4");

/* print it in a nice layout */
print "<CENTER>n";
print "<TABLE WIDTH=400 BORDER=0 ALIGN=CENTER VALIGN=TOP><TR><TD><FONT FACE="Verdana" SIZE="-2">n";
print "<HR>n";
print "<BR><B>Name:</B> $i1n";
print "<BR><B>email:</B><A HREF="mailto:$i2" onMouseOver="window.status=’Email $i2′;return true" onMouseOut="window.status=”;return true" TITLE="Email $i2">$i2</A>n";
print "<BR><B>Job:</B> $i3n";
print "<BR><B>Comment:</B>n";
print "<BR>$i4n";
print "</FONT></TD></TR></TABLE>n";
print "</CENTER>n";
$counter ;
}
}
mysql_close();
}

/* execute the function */
search_it($name);

/* See if we need to put on the NEXT or PREVIOUS buttons */
if ($total > $lpp) {
echo("<form action="$PHP_SCRIPT" method="POST">n");

/* See if we need a PREVIOUS button */
if ($offset > $lpp) {
echo("<input type="submit" value="Previous" name=dir>n"); }

/* See if we need a NEXT button */
if ($offset < $total) {
echo("<input type="submit" value="Next" name=dir>n"); }

echo("<input type=hidden name="offset" value="$offset">n");
echo("<input type=hidden name="name" value="$name">n");
echo("</form>");
}
}

/* action=add : show a form where the user can enter data to add to the database */
elseif($action == "add") { ?>

<TABLE WIDTH="460" ALIGN="CENTER" VALIGN="TOP">
<TH COLSPAN="2"><P>请您填写留言</TH>
<FORM NAME="guestbook" ACTION="guestbook.php3?action=send" METHOD="POST">
<TR>
<TD ALIGN="RIGHT" VALIGN="TOP">
您的大名:</TD>
<TD><INPUT TYPE=text NAME=name></TD>
</TR>
<TR>
<TD ALIGN="RIGHT" VALIGN="TOP">
您的E-mail:</TD>
<TD>
<INPUT TYPE=text NAME=email></TD>
</TR>
<TR>
<TD ALIGN="RIGHT" VALIGN="TOP">
您的工作:</TD>
<TD>
<INPUT TYPE=text NAME=job></TD>
</TR>
<TR>
<TD ALIGN="RIGHT" VALIGN="TOP">
您的留言:</TD>
<TD>
<TEXTAREA NAME=comments COLS=40 ROWS=6></TEXTAREA>
<P>
<INPUT TYPE=submit VALUE=Submit> <INPUT TYPE=Reset VALUE=Reset>
<A ALIGN="RIGHT" HREF="guestbook.php3?action=view" onMouseOver="window.status=’Read all comments first';return true" onMouseOut="window.status=”;return true" TITLE="Read all comments first"><FONT SIZE="-2">先观看所有的留言</FONT></A>
</TD>
</TR>
</FORM>
</TABLE>
</CENTER>

<?
}

/* action=send : add the data from the user into the database */
elseif($action == "send") {

/* check if a HTML-mail should be send or a plain/text mail */
if($html_mail == "yes") {
mail("$admin_name <$admin_mail>","PHP3 Guestbook Addition","<HTML><BODY><FONT FACE="Century Gothic"><TABLE BORDER="0" WIDTH="100%" CELLSPACING="4"><TR>$name ($email) schreef het volgende bericht in het gastenboek :</TR><TR><TD ALIGN="LEFT"> </TD><TD ALIGN="LEFT" NOWRAP> </TD></TR><TR><TD ALIGN="LEFT">$comments</TD><TD ALIGN="LEFT" NOWRAP> </TD></TR><TR><TD ALIGN="LEFT"> </TD><TD ALIGN="LEFT" NOWRAP> </TD></TR><TR><TD ALIGN="LEFT">您的留言:</TD><TD ALIGN="LEFT" NOWRAP>$name</TD></TR><TR><TD ALIGN="LEFT">您的大名:</TD><TD ALIGN="LEFT" NOWRAP>$email</TD></TR><TR><TD ALIGN="LEFT">您的email:</TD><TD ALIGN="LEFT" NOWRAP>$job</TD></TR><TR><TD ALIGN="LEFT">您的工作:</TD></TR></TABLE></BODY></FONT></HTML>", "From: $name <$email>nReply-To: $name <$email>nContent-type: text/htmlnX-Mailer: PHP/" . phpversion());
}

/* MySQL really hates it when you try to put things with ‘ or " characters into a database, so strip these…*/
$comments = addslashes ("$comments");
$query = "INSERT INTO guestbook VALUES(”,’$name’, ‘$email’, ‘$job’, ‘$comments’)";
$result = MYSQL_QUERY($query);

?>
<BR><P ALIGN = CENTER>感谢, <?php echo $name; ?>, 您的留言.
<BR><P ALIGN = CENTER><A HREF="guestbook.php3?action=view" onMouseOver="window.status=’View your comment now';return true" onMouseOut="window.status=”;return true" TITLE="View your comment now">观看留言</A><BR><BR>
<?

}

/* if there’s no action given, then we must show the main page */
else {

/* get the number of entries written into the guestbook*/
$query = "SELECT name from guestbook";
$result = MYSQL_QUERY($query);
$number = MYSQL_NUMROWS($result);

if ($number == "") {
$entry = "还没有人留过言"; }

elseif ($number == "1") {
$entry = "目前留言人数1人"; }

else {
$entry = "目前留言人数 $number 人"; }

echo "<CENTER><BR>";
echo "<P>$entry<BR>";
echo "<H4><FONT FACE="Verdana" SIZE="3"><A HREF="guestbook.php3?action=add" onMouseOver="window.status=’请您留言';return true" onMouseOut="window.status=”;return true" TITLE="Add your name to our guestbook">请您留言</A></FONT></H4>";

if ($number > "") {
echo "<H4><FONT FACE="Verdana" SIZE="3"><A HREF="guestbook.php3?action=view" onMouseOver="window.status=’观看留言';return true" onMouseOut="window.status=”;return true" TITLE="View the names in our guestbook">观看留言</A></FONT></H4>"; }
echo "</P></CENTER>";
}
?>
<BR><SMALL><CENTER>版权所有:<A HREF="http://personal.668.cc/haitang/index.htm" onMouseOver="window.status=’pert';return true" onMouseOut="window.status=”;return true" TITLE="pert">无边天际</A></CENTER></SMALL>
</FONT>
</BODY>
</HTML>

sql时间比较

sql="select * from ad where ad_outtime >#"&now()&"# order by id desc"