这是我写的一个数据库的连接类
<?php
class db {
//连接数据库
function conn() {
mysql_connect("localhost","root","123") or die("数据库连接失败!".mysql_error());
mysql_select_db("guestbook");
}
//查询用户名和密码是否匹配
function sel_info($username,$password){
$query="select * from guest_info where username='$username' and password='$password'";
mysql_query("SET NAMES UTF8");
$sel_info=mysql_query($query) or die("查询失败!".mysql_error());
return $sel_info;
}
//查询留言信息
function sel_guest(){
$query="select * from guestbook";
mysql_query("SET NAMES UTF8");
$sel_guest=mysql_query($query) or die("查询失败!".mysql_error());
return $sel_guest;
}
?>
然后我的老大说mysql_query("SET NAMES UTF8");mysql_query这些都可以写一起,我想问下怎么写一起啊,还有要我把sql语句从类里面拿出来作为一个参数传,这个也不会改,最后调用的时候说我每个页面都要$db=new db;难道不是这样的吗?哪位高手帮下忙啊,跪谢!!
<?php
class db {
//连接数据库
function conn() {
mysql_connect("localhost","root","123") or die("数据库连接失败!".mysql_error());
mysql_select_db("guestbook");
}
//查询用户名和密码是否匹配
function sel_info($username,$password){
$query="select * from guest_info where username='$username' and password='$password'";
mysql_query("SET NAMES UTF8");
$sel_info=mysql_query($query) or die("查询失败!".mysql_error());
return $sel_info;
}
//查询留言信息
function sel_guest(){
$query="select * from guestbook";
mysql_query("SET NAMES UTF8");
$sel_guest=mysql_query($query) or die("查询失败!".mysql_error());
return $sel_guest;
}
?>
然后我的老大说mysql_query("SET NAMES UTF8");mysql_query这些都可以写一起,我想问下怎么写一起啊,还有要我把sql语句从类里面拿出来作为一个参数传,这个也不会改,最后调用的时候说我每个页面都要$db=new db;难道不是这样的吗?哪位高手帮下忙啊,跪谢!!
//连接数据库
function conn() {
mysql_connect("localhost","root","123") or die("数据库连接失败!".mysql_error());
mysql_select_db("guestbook");
}
//查询用户名和密码是否匹配
function sel_info($username,$password){
$query="select * from guest_info where username='$username' and password='$password'";
mysql_query("SET NAMES UTF8");
$sel_info=mysql_query($query) or die("查询失败!".mysql_error());
return $sel_info;
}
//查询留言信息
function sel_guest($query){ mysql_query("SET NAMES UTF8");
$sel_guest=mysql_query($query) or die("查询失败!".mysql_error());
return $sel_guest;
}
class db {
//连接数据库 function db($host, $user, $pass, $db){
mysql_connect($host, $user, $pass) or die("数据库连接失败!".mysql_error());
mysql_select_db($db);
} //查询用户名和密码是否匹配
function sel_info($username,$password){
$query="select * from guest_info where username='$username' and password='$password'";
mysql_query("SET NAMES UTF8");
$sel_info=mysql_query($query) or die("查询失败!".mysql_error());
return $sel_info;
}
//查询留言信息
function sel_guest($query){ mysql_query("SET NAMES UTF8");
$sel_guest=mysql_query($query) or die("查询失败!".mysql_error());
return $sel_guest;
}
class db {
//连接数据库 function db($host, $user, $pass, $db){
mysql_connect($host, $user, $pass) or die("数据库连接失败!".mysql_error());
mysql_select_db($db);
mysql_query("SET NAMES UTF8");
} //查询用户名和密码是否匹配
function sel_info($username,$password){
$query="select * from guest_info where username='$username' and password='$password'"; $sel_info=mysql_query($query) or die("查询失败!".mysql_error());
return $sel_info;
}
//查询留言信息
function sel_guest($query){
$sel_guest=mysql_query($query) or die("查询失败!".mysql_error());
return $sel_guest;
}
function sel_info($query){
$sel_info=mysql_query($query) or die("查询失败!".mysql_error());
return $sel_info;
}
这样吗?
mysql_query("SET NAMES UTF8");这句加到构造函数里去就行了,其他函数就不用写了
你这程序的话就是加到conn()函数里去用到这个类当然要$db=new db(),要不这代码有什么用?我是个新手,就知道这些了,其他的不懂了~_~
在类里写单态模式,就不用每次都实例了
mysql_query("SET NAMES UTF8");写到构造函数里面啊,不错的建议,谢了,可是还有问题啊,大家继续啊
mysql_select_db("guestbook");
mysql_query("SET NAMES 'UTF8'");//只在这里加就可以了。在网上去下一个mysql类,看人家是怎么写的。
phpwind和discuz的程序里就有现成的。
这个怎么解决啊?
放入一个文件进行引用<?php
require_once("class.db.php");$db = new db();?>然后在其他文件中应用这个文件
<?php
session_start();
require_once("class.db.php");
$db = new db();?>
可以这样对吧,就不用每个页面都写一回了?