当前位置:首页 > PHP教程 > php应用 > 列表

php mysql数据保存到数据库实现方法

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-11 09:53:22 浏览: 评论:0 

文章简单的介绍了从数据库连接到把用户提交的数据保存到mysql数据库的整个过程,一一讲解了操作方法,有需要的朋友看看下面五步.

1. 创建一个数据库连接

2. 发送一些不是必须的语句

3. 选择一个存储的数据库

4. 编写数据库插入语句

5. 发送这个语句

先看数据结构,代码如下:

  1. -- 
  2. -- 表的结构 `guest` 
  3. -- 
  4.  
  5. CREATE TABLE IF NOT EXISTS `guest` ( 
  6.   `id` int(11) NOT NULL auto_increment COMMENT '客户自增id'
  7.   `namevarchar(16) NOT NULL COMMENT '客户名称'
  8.   `email` varchar(60) default NULL COMMENT '电子信箱'
  9.   `qq` varchar(11) default NULL COMMENT 'QQ号码'
  10.   PRIMARY KEY  (`id`) 
  11. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; 
  12.  
  13. -- 
  14. -- 导出表中的数据 `guest` 
  15. -- 
  16.  
  17.  
  18. -- -------------------------------------------------------- 
  19.  
  20. -- 
  21. -- 表的结构 `post` 
  22. -- 
  23.  
  24. CREATE TABLE IF NOT EXISTS `post` ( 
  25.   `id` int(11) NOT NULL auto_increment COMMENT 'post主键'
  26.   `guest_id` varchar(11) NOT NULL COMMENT '发布人id'
  27.   `post` text NOT NULL COMMENT '发布内容'
  28.   `post_time` varchar(14) NOT NULL COMMENT '发布时间'
  29.   PRIMARY KEY  (`id`) 
  30. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; 
  31.  
  32. -- 
  33. -- 导出表中的数据 `post` 
  34. -- 
  35.  
  36.  
  37. -- 

详细的分析也就这么五个步骤了,那么我们开始第一步吧,利用PHP提供的内置函数mysql_connect来创建一个数据库链接,这个函数需要三个参数,格式如下.

Mysql_connect(‘数据库所在的主机’,’链接数据库的用户名’,’链接数据库的密码’),这个函数返回一个数据库连接资源号.

看我们在post.php中的链接代码,代码如下:

$con=mysql_connect('localhost','root','root') or die('链接数据库失败!');

mysql_query('set names utf8');

mysql_select_db('GuestBook');

第一行创建一个数据库连接,把资源号赋给变量$con,如果连接失败,结束程序的执行输出提示信息“链接数据库失败!”.

第二行发送一个字符集设定语句,让数据在数据库中的出入都使用utf8字符集,这个语句是可有可无的,其中的语句可以写成set names gbk或者set names gb2312等等我们需要的字符集.

第三行利用PHP提供的mysql_select_db函数来选择我们要使用的数据库.

值得注意的是,mysql_query这个函数本身有两个参数:第一个参数就是我们要发送的数据库执行语句sql,第二个参数是数据库连接的资源编号,如果第二个参数没有指定的话,那么程序就会查找最近一个链接资源,也就是说这个参数不是必须的,我们以上包括将来的写法都是没有第二个参数的,按照程序的上下文我们第二行的语句可以写作:

mysql_query(“set names utf8”,$con)这样也是正确的.

这个函数的返回值是布尔型的,如果语句成功执行就返回true否则返回false——了解这一点很重要,到此为止我们的数据库连接已经就绪,开始组装我们的sql插入语句,看一下代码,post.php:

  1.  $insertSql="insert into guest (name,qq,email) values ('$name','$qq','$email')"
  2. if(mysql_query($insertSql)){ 
  3.  $guestid = mysql_insert_id(); 
  4. else
  5.  echo $insertSql
  6.  echo mysql_error(); 
  7.  echo "数据插入失败!"
  8.  exit(); 

在这个片段的第一行中我们组建了一个sql的插入语句,这个看来没什么可说的,唯一点就是把变量写进这些语句并且用引号包裹起来——对于数字型的不需要引号.

第二句发送语句,并判断是否被成功执行。

这个地方需要说明:PHP中if判断中的语句是会被执行的,例如if($c=$a+$b)这样的语句被执行的顺序是,先计算里面的语句然后再对结果作出判断。所以执行之后$c的值是$a,$b之和,判断的时候是对$c作出的判读。

所以在这个地方if判断的是mysql_query($insertSql)的返回结果,语句已经发送到了数据库。

第三行出现的函数mysql_insert_id——获取最近一次插入数据的时候自增序列的值,我们这里获取的是guest表中的id,因为只有这个id才是自增的,以备后用。

这个片段的第五行到最后都是进行的错误处理,如果语句没有被成功执行,那么就执行这些程序,倒数第二行的exit();函数的意思是终止程序向下执行.

这时候我们已经把guest信息保存到了Mysql的GuestBook的guest表中了,看一下post.php文件,代码如下:

  1. //把以上插入取得的客户id和留言信息插入到post表中 
  2. $post_time = time(); 
  3. $insertPostSql = "insert into post(guest_id,post,post_time) values('$guestid','$post','$post_time')"
  4. if(mysql_query($insertPostSql)){ 
  5.  echo <<<tem 
  6.  <script> 
  7.  alert("留言成功"); 
  8.  location.href="index.php"
  9. //开源代码phpfensi.com 
  10.  </script> 
  11. tem; 
  12. else
  13.  echo <<<tem 
  14.  <script> 
  15.  alert("留言失败"); 
  16.  location.href="index.php"
  17.  </script> 
  18. tem; 
  19. }

Tags: mysql数据保存 php数据保存

分享到:

相关文章