[PHP中文社区教程] 第二十五课:操作MySQL数据库(二)
From:http://www.phpnet.cn/bbs/viewthread.php?tid=655&extra=page%3D1
上一节课我们熟习了用phpMyAdmin工具来操作MySQL数据库,作为一般的网站来说,所使用的都是虚拟主机,服务商已经为我们建立好了数据库,我们可以用phpMyAdmin来建立数据表,可以导入备份的数据。网站运行需要存取数据时就不能依靠工具了,就要用程序来操作数据库。其实操作数据库还是比较简单的,为什么呢?因为对数据库一般只有四种操作:插入,修改,删除,查询。每一种操作也只用几个函数就能实现。
这节课我们学习“连接”数据库和“插入”数据。
一、连接数据库
操作数据库首先要建立与数据库的连接,如何连接数据库呢?请看例子:
//数据库连接参数<br/>define("ServerName", "localhost"); //定义服务器名<br/>define("UserName", "root"); //定义用户名<br/>define("PassWord", ""); //定义密码<br/>define("DBName", "mytest"); //定义数据库名<br/> <br/>//连接数据库<br/>mysql_connect(ServerName,UserName,PassWord) OR die("对不起,不能连接到数据库");<br/>mysql_select_db(DBName) OR die(" 对不起,不能连接到数据库……");
mysql_connect()是数据库连接函数,其语法格式为:
resource mysql_connect ( [string server [, string username [, string password [, bool new_link [, int client_flags]]]]] )
server
MySQL 服务器。可以包括端口号,一般都是本机所以是 localhost 。
username
用户名。默认值是服务器进程所有者的用户名。
password
密码。默认值是空密码。
如果你购买的是虚拟主机,服务商会把上述参数告诉你。如果你用了我们的安装程序在本机上做测试,那么服务器是:localhost,用户名是:root,密码为空。
mysql_select_db()是选择 MySQL 数据库函数,在上节课中我们建立了一个名为mytest的数据库。
上述两个函数的详细介绍你可以看PHP手册。上面的程序如果不出错我们就与数据库建立了连接。
二、插入数据
还记得我们上节课建立的一个数据表是什么吗?对了,就是一个用来记录学生成绩的数据表“chengji”,这个数据表中有这样几个字段:sID,sName ,yuWen ,shuXue ,yinYu
sID 是自动编号,sName 记录学生姓名,yuWen 记录语文成绩,shuXue 记录数学成绩,yinYu 记录英语成绩。
现在有个叫李勇的学生的成绩分别是:81, 81, 90。怎么样通过程序插入到数据库中呢? 请看下面的例子:
$name = '李勇';<br/>$yw = 81;<br/>$sx = 81;<br/>$yy =90;<br/> <br/>mysql_query("INSERT INTO chengji (`sID`,`sName`,`yuWen`,`shuXue`,`yinYu`) VALUES ('', '$name','$yw', '$sx', '$yy')");<br/>if(mysql_affected_rows()>0) echo '数据添加成功!';<br/>else echo '数据添加失败!';
上面的代码中,mysql_query() 函数是发送一条 MySQL 语句,参数就是MySQL查询语句。mysql_affected_rows() 取得前一次 MySQL 操作所影响的记录行数。想学习更多的MySQL语句的写法可以看相关的资料。
如果每个字段都赋值,也可以这样写查询语句:
$name = '李勇';<br/>$yw = 81;<br/>$sx = 81;<br/>$yy =90;<br/> <br/>mysql_query("INSERT INTO chengji VALUES ('', '$name','$yw', '$sx', '$yy')");<br/>if(mysql_affected_rows()>0) echo '数据添加成功!';<br/>else echo '数据添加失败!';
把上面的代码写到(包含到)同一个文件里,程序运行后,我们用phpMyAdmin工具再来看chengji表中就会发现又添加了一条数据:
你学会如何用程序插入数据了吗?下面我要出一道作业题了:你能设计一个用网页表单来添加数据的程序吗?