偶是新手,昨天才开始研究PHP的写了2个页面来测试和MYSQL的面向对象的连接。。但是怎么也弄不好。。大家帮我看看好嘛?
这是在admin文件夹里的adminManager.php的源码
<?php
require('dataBase/db_mysql.php');
$connDB=new DB('localhost','root','330520','jingao');
$conn=$connDB->connect();
$result=mysql_query("select * from admininfo where username='admin' and password='330520'",$conn);
$info=mysql_fetch_array($result);
if($info!=true){
echo "管理员登录失败!!";
}else{
echo "管理员登录成功!!";
}
?>
这是在database文件夹里的db_mysql.php的源码
<?php
Class DB{
private $dbhost;
private $dbname;
private $dbuser;
private $dbpw;
public function _construct($dbhost,$dbuser,$dbpw,$dbname){
$this->dbhost=$dbhost;
$this->dbname=$dbname;
$this->dbuser=$dbuser;
$this->dbpw=$dbpw;
}
public function connect(){
$dbLink=@mysql_connect($this->dbhost,$this->dbuser,$this->dbpw);
if(!$dbLink){
echo "打开数据库失败<br>";
}
$this->chartset_db();
if($this->version()>'5.0'){
mysql_query("SET sql_mode=''");
}
if($this->dbname){
mysql_select_db($this->dbname,$dbLink);
}
return $dbLink;
}
public function chartset_db(){
global $chartset;
if($this->version()<='4.1'){
return true;
}
if(defined('CHARTSET_DB')&& CHARTSET_DB==''&& in_array(strtolower($chartset),array('gb2312','gbk','big5','utf-8'))){
$dbchartset= str_replace('-','',$chartset);
}else{
$dbchartset=CHARTSET_DB;
}
if($dbchartset){
mysql_query("SET NAMES '$dbchartset'");
}
}
}
?>
这是在admin文件夹里的adminManager.php的源码
<?php
require('dataBase/db_mysql.php');
$connDB=new DB('localhost','root','330520','jingao');
$conn=$connDB->connect();
$result=mysql_query("select * from admininfo where username='admin' and password='330520'",$conn);
$info=mysql_fetch_array($result);
if($info!=true){
echo "管理员登录失败!!";
}else{
echo "管理员登录成功!!";
}
?>
这是在database文件夹里的db_mysql.php的源码
<?php
Class DB{
private $dbhost;
private $dbname;
private $dbuser;
private $dbpw;
public function _construct($dbhost,$dbuser,$dbpw,$dbname){
$this->dbhost=$dbhost;
$this->dbname=$dbname;
$this->dbuser=$dbuser;
$this->dbpw=$dbpw;
}
public function connect(){
$dbLink=@mysql_connect($this->dbhost,$this->dbuser,$this->dbpw);
if(!$dbLink){
echo "打开数据库失败<br>";
}
$this->chartset_db();
if($this->version()>'5.0'){
mysql_query("SET sql_mode=''");
}
if($this->dbname){
mysql_select_db($this->dbname,$dbLink);
}
return $dbLink;
}
public function chartset_db(){
global $chartset;
if($this->version()<='4.1'){
return true;
}
if(defined('CHARTSET_DB')&& CHARTSET_DB==''&& in_array(strtolower($chartset),array('gb2312','gbk','big5','utf-8'))){
$dbchartset= str_replace('-','',$chartset);
}else{
$dbchartset=CHARTSET_DB;
}
if($dbchartset){
mysql_query("SET NAMES '$dbchartset'");
}
}
}
?>
this->version()这个函数就没有,最明显的.
db_mysql.php更改成下面这样了<?php
header('Cache-Control: no-cache, must-revalidate');
header('Pragma: no-cache');
Class DB{
private $dbhost;
private $dbname;
private $dbuser;
private $dbpw;
public function _construct($dbhost,$dbuser,$dbpw,$dbname){
$this->dbhost=$dbhost;
$this->dbname=$dbname;
$this->dbuser=$dbuser;
$this->dbpw=$dbpw;
}
public function connect(){
$dbLink=@mysql_connect($this->dbhost,$this->dbuser,$this->dbpw);
if(!$dbLink){
echo "打开数据库失败<br>";
}
if($this->dbname){
mysql_select_db($this->dbname,$dbLink);
}
return $dbLink;
}
}
?>
有啊,
mysql_select_db($this->dbname,$dbLink);