超级简单的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 相关文章推荐
判断Keep-Alive模式的HTTP请求的结束的实现代码
Aug 06 PHP
PHP中使用crypt()实现用户身份验证的代码
Sep 05 PHP
php命名空间学习详解
Feb 27 PHP
PHP类中的魔术方法(Magic Method)简明总结
Jul 08 PHP
php学习笔记之面向对象
Nov 08 PHP
浅谈ThinkPHP的URL重写
Nov 25 PHP
PHP ajax 异步执行不等待执行结果的处理方法
May 27 PHP
php使用get_class_methods()函数获取分类的方法
Jul 20 PHP
ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法
Jun 09 PHP
详解php curl带有csrf-token验证模拟提交方法
Apr 18 PHP
php设计模式之工厂模式用法经典实例分析
Sep 20 PHP
php 多继承的几种常见实现方法示例
Nov 18 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 显示指定路径下的图片
2009/10/29 PHP
php设计模式 Visitor 访问者模式
2011/06/28 PHP
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)
2013/07/02 PHP
ThinkPHP之用户注册登录留言完整实例
2014/07/22 PHP
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
PHP实现获取中英文首字母
2015/06/19 PHP
php编译安装php-amq扩展简明教程
2016/06/25 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
JS获取节点的兄弟,父级,子级元素的方法
2014/01/09 Javascript
JSONP跨域的原理解析及其实现介绍
2014/03/22 Javascript
javascript下拉框选项单击事件的例子分享
2015/03/04 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
2015/11/06 Javascript
Bootstrap响应式侧边栏改进版
2016/09/17 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
2018/08/28 jQuery
vue slots 组件的组合/分发实例
2018/09/06 Javascript
详解js静态检查工具eslint配置文件
2018/11/23 Javascript
bootstrap-table实现表头固定以及列固定的方法示例
2019/03/07 Javascript
vue基础之v-bind属性、class和style用法分析
2019/03/11 Javascript
Element-ui el-tree新增和删除节点后如何刷新tree的实例
2020/08/31 Javascript
[02:24]DOTA2痛苦女王 英雄基础教程
2013/11/26 DOTA
Python 3.x 安装opencv+opencv_contrib的操作方法
2018/04/02 Python
python实现周期方波信号频谱图
2018/07/21 Python
python实现五子棋小游戏
2020/03/25 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
Python 打印自己设计的字体的实例讲解
2021/01/04 Python
年终考核评语
2014/01/19 职场文书
法人委托书范本格式
2014/09/15 职场文书
教师个人自我评价
2015/03/04 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书
Python 线程池模块之多线程操作代码
2021/05/20 Python
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
2021/06/26 Python
vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决
2022/04/06 Vue.js