在php中经常会有很多个文件,假如很多页面需要调用数据,而每个页面都写一遍连接数据库的代码,这在后期维护的时候就会特别麻烦,尤其是数据库名或者表名发生改变,那就得一个一个的改,所以在php中操作mysql数据库时我是尽量把数据库连接的操作写到另外一个文件中,使用时直接调用相应函数即可,这样使程序整体更加简洁高效,结构化设计更容易查阅和修改。
代码共分三级,最高级database.php,实现数据库的连接和释放,然后是tablename_db.php,响应在database中返回的连接值使用sql语句对数据库进行查询,在调用关闭函数,释放连接。最后是需要显示数据的php页面,直接使用调取回来的数据即可。其中database.php和tablename_db.php应该放在一个config文件夹里。
下面是三个php页面的代码,我只写了查询功能了,其他功能相似,自己按照需求更改就可以,或者参考我写的关于php操作mysql数据库的博文,由于这三个文件的网址不在同一个目录下,使用时需要修改,有问题可以联系我,一起研究解决。
database.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php class DATABASE{ public function conn_mysql(){ //连接数据库函数 $con = mysql_connect("localhost","username","password");//数据库用户名和密码 mysql_query("set names utf8;"); if (!$con){ die('Could not connect: ' . mysql_error()); } mysql_select_db("databasename", $con); //要连接的数据库名 return $con; } public function close_mysql($con){ //释放连接的函数 mysql_close($con); } } ?> |
tablename_db.php
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php //defined ( 'SYSPATH' ) or die ( 'No direct access allowed.' ); require_once 'database.php'; //导入上级database_db.php文件 class DIARY_DB{ public function mysql_db(){ $database = new DATABASE(); //实例化类 $con = $database->conn_mysql(); //连接mysql $result = mysql_query("SELECT * FROM tablename"); //进行查询操作 $database->close_mysql($con); //释放连接 return $result; //返回结果 } } ?> |
show.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php require_once 'config/tablename_db.php'; //导入上级tablename_db.php文件 $article_db = new ARTICLE_DB(); //实例化类 $result = $article_db->mysql_db(); //调用函数 $row = mysql_fetch_array($result); //获取查询到的数组 ?> //以下数据仅做参考,当数据不止一组时,应该使用while语句去遍历数组 <?php echo $row['a_title'];?> <?php echo $row['a_adddate'];?> <?php echo $row['a_adduser'];?> <?php echo $row['a_visit'];?> <?php echo $row['a_comment'];?> <?php echo $row['a_text'];?> <?php echo $row['a_type']; ?> |