超级简单的php+mysql留言本源码


Posted in PHP onNovember 11, 2009

共3个文件
IncDB.php数据库连接
index.php首页
InsetToDB.php数据库操作
数据库lguestbook里面建表

CREATE TABLE `intd` ( 
`id` int(11) NOT NULL auto_increment, 
`name` varchar(255) character set utf8 collate utf8_bin NOT NULL, 
`text` text character set utf8 collate utf8_bin NOT NULL, 
`datetime` datetime NOT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=gb2312 AUTO_INCREMENT=11 ; //此句参考下面的扩展内容;

IncDB.php数据库连接
<?php 
$link=mysql_connect('localhost','root','root'); 
if(!$link) 
{ 
die("<center>出错啦:1!</center>"); 
} 
if(!mysql_select_db('guestbook',$link)) 
{ 
die("<center>出错啦:2!</center>"); 
} 
?>

index.php代码
<meta http-equiv="Content-Type" content="text/html; charset=gbk"> 
<?php 
include("IncDB.php"); 
$result=mysql_query("SELECT * FROM intd",$link); 
$row=mysql_fetch_row($result); 
while($row) 
{ 
echo "ID: ".$row[0]." 姓名: ".$row[1]." 时间: ".$row[3]."<br>"; 
echo $row[2]; 
echo "<hr><br>"; 
$row=mysql_fetch_row($result); 
} 
mysql_close($link); 
?> 
<form method="POST" action="InsetToDB.php"> 
昵称:<input type="text" size="8"; name="name"> 
<p>内容:<textarea rows="5" name="text" cols="60"></textarea> 
</p> 
<p><input type="submit" value="提交" name="B1"><input type="reset" value="重置" name="B2"></p> 
</form>

InsetToDB.php的代码:
<?php 
include("IncDB.php"); 
$name=addslashes($_POST['name']); 
$text=addslashes($_POST['text']); 
$sql = "INSERT INTO `intd` (`id`, `name`, `text`, `datetime`) VALUES (NULL, '$name', '$text', now());"; 
//$sql="INSERT INTO `intd` ( , `name` , `text`,`datetime` ) VALUES ( ,'$name','$text',now())"; 
if(mysql_query($sql,$link)) 
{ 
echo "留言成功!"; 
echo "<meta http-equiv=\"refresh\" content=\"1;URL=index.php\">"; 
} 
else 
echo "留言失败!"; 
mysql_close($link); 
?>

扩展内容讲解:
MySQL engine/type类型InnoDB/MYISAM/MERGE/BDB/HEAP的区别
看MySQL参考手册 发现CREATE TABLE 时有多种数据库存储引擎:
TYPE = {BDB | HEAP | ISAM | InnoDB | MERGE | MRG_MYISAM | MYISAM }
网上查了下据说MyISAM、InnoDB两种引擎常用
大至区别如下[不知是否准确]:
高级处理:
MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。
执行速度:
MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快。
移值性:
MyISAM类型的二进制数据文件可以在不同操作系统中迁移。也就是可以直接从Windows系统拷贝到linux系统中使用。
今天找到官方准确解释
· MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改STORAGE_ENGINE配置变量,能够方便地更改MySQL服务器的默认存储引擎。
· InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。
· BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性。
· Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。
· Merge:允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。
· Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。
· Federated:能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。
· Cluster/NDB:MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。
· Other:其他存储引擎包括CSV(引用由逗号隔开的用作数据库表的文件),Blackhole(用于临时禁止对数据库的应用程序输入),以及Example引擎(可为快速创建定制的插件式存储引擎提供帮助)。
请记住,对于整个服务器或方案,你并不一定要使用相同的存储引擎,你可以为方案中的每个表使用不同的存储引擎,这点很重要。
PHP 相关文章推荐
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
Mar 15 PHP
PHP CLI模式下的多进程应用分析
Jun 03 PHP
php实现的SESSION类
Dec 02 PHP
php实现在服务器端调整图片大小的方法
Jun 16 PHP
如何把php5.3版本升级到php5.4或者php5.5
Jul 31 PHP
Yii开启片段缓存的方法
Mar 28 PHP
YII视图整合kindeditor扩展的方法
Jul 13 PHP
PHP通过加锁实现并发情况下抢码功能
Aug 10 PHP
php微信公众号开发模式详解
Nov 28 PHP
总结PHP代码规范、流程规范、git规范
Jun 18 PHP
thinkPHP实现基于ajax的评论回复功能
Jun 22 PHP
Thinkphp 框架扩展之数据库驱动常用方法小结
Apr 23 PHP
PHP 远程关机实现代码
Nov 10 #PHP
php实现网站插件机制的方法
Nov 10 #PHP
php 向访客和爬虫显示不同的内容
Nov 09 #PHP
php 将excel导入mysql
Nov 09 #PHP
PHP CKEditor 上传图片实现代码
Nov 06 #PHP
PHP 压缩文件夹的类代码
Nov 05 #PHP
PHP 向右侧拉菜单实现代码,测试使用中
Nov 03 #PHP
You might like
PHP使用glob函数遍历目录或文件夹的方法
2014/12/16 PHP
php curl常用的5个经典例子
2017/01/20 PHP
escape、encodeURI、encodeURIComponent等方法的区别比较
2006/12/27 Javascript
Javascript Math对象
2009/08/13 Javascript
用Javascript 和 CSS 实现脚注(Footnote)效果
2009/09/09 Javascript
jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
2012/06/18 Javascript
Javascript实现动态菜单添加的实例代码
2013/07/05 Javascript
jquery交替变换颜色的三种方法 实例代码
2013/11/19 Javascript
JavaScript类型系统之Object详解
2016/01/07 Javascript
jquery获取img的src值的简单实例
2016/05/17 Javascript
AngularJS入门教程之REST和定制服务详解
2016/08/19 Javascript
基于zepto.js实现登录界面
2017/10/09 Javascript
浅谈 vue 中的 watcher
2017/12/04 Javascript
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
Nodejs把接收图片base64格式保存为文件存储到服务器上
2018/09/26 NodeJs
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
Vue3 的响应式和以前有什么区别,Proxy 无敌?
2020/05/20 Javascript
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
python生成指定长度的随机数密码
2014/01/23 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
如何理解python对象
2020/06/21 Python
CSS3中各种颜色属性的使用教程
2016/05/17 HTML / CSS
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
html5 canvas移动浏览器上实现图片压缩上传
2016/03/11 HTML / CSS
Eastbay官网:美国最大的运动鞋网络零售商
2016/07/27 全球购物
华硕新加坡官方网上商店:ASUS Singapore
2020/07/09 全球购物
婚礼证婚人证婚词
2014/01/08 职场文书
市场策划求职信
2014/08/07 职场文书
六年级学生评语大全
2014/12/26 职场文书
党员证明模板
2015/06/19 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
MongoDB数据库常用的10条操作命令
2021/06/18 MongoDB
「魔导具师妲莉亚永不妥协~从今天开始的自由职人生活~」1、2卷发售宣传CM公开
2022/03/21 日漫
浅析Python OpenCV三种滤镜效果
2022/04/11 Python
Smart 2 车辆代号 HC11 全新谍照曝光
2022/04/21 数码科技
基于redis+lua进行限流的方法
2022/07/23 Redis