昨天晚上回家,把我写的超级加强版PHP & MYSQL留言本拷到机器里面去了,然后MYSQL数据库也拷了下,位于MYSQL / DATA中,然后找到我那个数据库的文件夹,复制!以为这样就将数据库备份了,然后回家一粘贴,发现根本不好使,用PHPMYADMIN一看,等于白看,我压根就不知道那些错误提示是什么东西,没办法,只能重建一个数据库。还是用phpmyadmin建的,测试一下我的超级留言本,嗯。好使,就那个分页的地反有几个小问题,修正了,大家可以看看PHP 分页完全解读!修改版,上次有几个错误。
今天上班想想,不对啊,我用网络商提供的服务器怎么搞数据库啊,phpmyadmin?不太可能吧,还是自己写个用PHP创建MYSQL数据库的例子了解下吧,以备后患(下了几个开源的PHP后台管理系统,别人都在开始有安装数据库的动作,现在终于明白为什么了)。
网上搜索了一下,TNND,居然基本上关键字为 PHP MYSQL 创建数据库 的网页基本上是一样的,还TNND全部没有注释,叫我这样的新手怎么看的懂啊?!这些人转载也不注明下,好像自己才是原创似的。没办法,只能自己看着琢磨了,搞了一会,写个实例,顺便用phpmyadmin写了个错误的表,故意没加主键,然后有提示,顺便把过程展示出来,正好也能拿来分析。不多说,直接挂代码,现在严重 BS 公布程序不写注释的人,你这程序贴出来有什么意义啊?
//连接MYSQL,另存页conn.php,留着引用
一:先创建个数据库
include_once("conn.php");
if (mysql_query("create database 数据库名")){echo "创建数据库成功";} //create datebase 创建数据库命令,mysql_query()执行
else {echo "创建数据库失败";}
?>
二:给数据库添加表和字段
include_once("conn.php");
my_select_db("数据库名") or die ("你刚才建的数据库没成功?"); //my_select_db() 选择一个数据库
$newbiao="create table 表名( //create table 创建表
'id' int not null auto_increment, //创建一个字段,id,类型,null,额外,只写了这3个项。
'content' varchar(100) not null, //varchar 文本,括号内是长度限制
'time' timestamp not null current_timestamp, //时间字段,因为想要自动记录时间,所以类型是timestamp,额外是current_timestamp
PRIMARY KEY('id'))"; //说明主键是id,这个很重要
mysql_query($newbiao) or die ("建立表失败了"); //这就是创建为什么要给声明变量$newbiao,我想检查下成功没!
)
?>
三:给表添加新字段
include_once("conn.php");
mysql_select_db("数据库名");
alter table "表名" ADD '新字段名' var(50) not null; //ADD添加
?>
搞定,发现不难,只是大家在字段的属性上注意一点,还有很多额外的选项我没写,这都无伤大雅,数据库能够运行就OK。以下是引用的phpmysql生成数据库的代码、比较完整,但是我没写注释,参照下上面的应该没有阅读障碍。
-- 数据库: `#datebase`
--
CREATE DATABASE `#datebase` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE #datebase;
-- --------------------------------------------------------
--
-- 表的结构 `massage`
--
CREATE TABLE `massage` (
`id` int(11) NOT NULL auto_increment,
`user` varchar(20) default NULL,
`title` varchar(40) default NULL,
`pic` varchar(50) NOT NULL,
`content` varchar(500) default NULL,
`time` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=16 ;
--
-- 导出表中的数据 `massage`
--
INSERT INTO `massage` VALUES (1, 'wontao', 'one msg', '', 'one massage', '2008-10-13 00:00:00');
from : http://hi.baidu.com/wontao/blog/item/e24b40d601056e2906088b26.html