电脑技术学习

用PHP建立微型论坛的简单教程

dn001


3、连接数据库
(1)连接数据库:mysql_connect(string hostname,string username ,string password);
hostname:服务器名。本机"localhost"
username:登陆用户名。我这里是"root"
password:登陆密码。我这里也是"root"
(2)选择数据库:mysql_select_db(string database_name,int[link_identifier]);
database_name就是数据库名,这里就是刚刚建立的mybbs了。
link_identifier:连接标识,不写就默认是上次使用的连接,具体见下面。
完整的写法如下:

<?php
mysql_connect("localhost","root","root");//千万不要漏了分号,唉,我自己就经常漏掉……
mysql_select_db("mybbs");
/*或者你可以这样写:
$connect_db=mysql_connect("localhost","root","root");
mysql_select_db("mybbs",$connect_db);
*/
?>
就象ASP里的conn一样,把这个连接单独放到一个文件里,方便以后调用。不过ASP用的include,PHP中使用require()或者include()而已,如下:
ASP中:<!--#include file="conn.asp"-->
php中:
<?php
require("conn.php");
%>
或者:
<?php
include("conn.php");
?>
如果你希望测试下刚才连接数据库是否成功,就输出mysql_error()来看:

<?php
mysql_connect("localhost","root","root");
mysql_select_db("mybbs");
echo mysql_error();
?>
连接正常的话不会输出输出任何错误的。
(3)关闭数据库连接,可以释放系统资源。
mysql_close();
我们把连接和关闭数据库的程序都写在一个文件conn.php中吧:

CODE:
<?php
mysql_connect("localhost","root","root");
mysql_select_db("mybbs");
Function close_db(){
mysql_close();
}
//注意:函数一种是带返回值的,一种没有值。
?>
既然require()可以调用外部文件,我们不妨将常用的数据写进变量里然后也单独放在一个文件里,这和ASP道理一样的。我命名了一个文件global.php,用来初始化这些数据。

<?php
$gb_name="东讯科技PHP微型论坛"//微型论坛的名字,用在网页的title标签里
$gb_version=" Version 1.0"//版本号
$gb_copyright="Powered by <a href="http://www.eastsin.com" target="_blank">Eastsin-东讯科技 2006</a>"//版权及连接
//其他的常用的数据可以在做程序的过程中不断的加到这个文件中来。
?>
现在已经存在两个文件了,一个conn.php,一个global.php。前一个是记录和MYSQL连接的文件,后一个是记录常用数据的文件。 4、好了,上面数据库也建立了,PHP连接数据库我们也做好了。那么,我们该学习对MYSQL数据库进行操作了吧:
select 查询;
update 更新;
insert 插入;
delete 删除;
如果你有ASP或其他语言基础的话,我想理解应该很easy吧!
那么第一步,从首页开始:读取数据库中的信息。首页主要是循环显示forums中的所有论坛版块。对于有基础的人来说,查询语句很容易:
<?php
$sql="select * from forums"
?>
那么,如何来执行这个查询语句呢?PHP中用mysql_query()函数来执行SQL语句。这里要注意的是:mysql_query()函数来执行SQL语句时,如果执行的是一个SELECT语句,执行后返回一个INT型的标识,如果是非SELECT语句(INSERT,UPDATE等)返回的是boolean型的数据。所以有ASP基础的同学不要把这里认为成已经成功得到记录集。我们可以先来看看ASP:
<!--#include file="conn.asp"-->
<%
sql="select * from forums"
rs.open sql,conn,1,1
do while not rs.eof
response.write rs("***")
rs.movenext
loop
%>
如果得到了数据,直接rs("***")就可以得到想要的数据了。但是PHP中这里,执行完mysql_query()函数,并没有得到最终我们想要的数据。还需要使用其他函数来获取最终数据,我经常使用mysql_fetch_array()和mysql_fetch_row()来获取查询结果。这两个函数操作的对象都是刚才mysql_query()执行后的结果。所以,我这样写:

<?php
require("conn.php"); //先把conn.php引入,目的就是打开数据库连接
$sql="select * from forums"
$result=mysql_query($sql);
while($rs=mysql_fetch_array($result)){
echo "论坛:".$rs["forum_name"]."</br>"
}
?>

标签: