//conn.php
<?php
class CMysql{
private $servername;
private $username;
private $password;
private $link;
private $dbname;
private $sql;
private $result;
private $arr;

function _construct($sql){
$this->servername="localhost";
$this->username="root";
$this->password="123";
$this->dbname="bbs";
$this->sql=$sql;
}
public function Getconnection(){
$this->link=@mysql_connect($this->servername,$this->username,$this->password) or die("连接数据库失败!<br>");
mysql_select_db($this->dbname,$this->link) or die("连接失败!<br>".mysql_error()."<br>");;
mysql_query("set names 'GBK'");
}
public function Query(){
$this->result=mysql_query($this->sql);
return $this->result;
}
public function Array_Result(){
$this->arr=mysql_query($this->result);
return $this->arr;
}
}
?>//function.php
<?php
include 'conn.php';
$ch=false;
$sql="select * from message";
$mysql=new CMysql($sql);
$mysql->Getconnection();
if($_POST[submit]){
$user1=$_POST[username];
$pass1=$_POST[password];
if($user1==""||$pass1==""){
?>
<script type="text/javascript" language="javascript">
alert("用户名或密码不能为空!");
window.location.href="index.html";
</script>
<?
}
while($result=$mysql->Array_Result($mysql->Query())){
$user2=$result[0];
$pass2=$result[1];
if($user1==$user2&&$pass1==$pass2){
$ch=true;
break;
}
}
if($ch){
?>
<script type="text/javascript" language="javascript">
alert("登陆成功!");
window.location.href="index.html";
</script>
<?
}
else {
?>
<script type="text/javascript" language="javascript">
alert("你输入的用户名或密码错误,请重新输入!");
window.location.href="index.html";
</script>
<?
}
}
?>
我测试的时候得到数据库连接失败,我晕啊!请问下什么原因?

解决方案 »

  1.   

    $this->link=@mysql_connect($this->servername,$this->username,$this->password) or die("连接数据库失败!<br>".mysql_error());  //加上mysql_error()就知道为什么了
    mysql_select_db($this->dbname,$this->link) or die("连接失败!<br>".mysql_error()."<br>");;  //这里多了一个分号
      

  2.   

    没有输出错误吗?把@符号去掉看看。
    $this->link=@mysql_connect($this->servername,$this->username,$this->password) or die("连接数据库失败!<br>".mysql_error());
      

  3.   

    Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO) in E:\PHPwww\enter\conn.php on line 20
    连接数据库失败!
      

  4.   

    if ($_POST[submit]) {
        $user1 = $_POST[username];
        $pass1 = $_POST[password];
    // ...
    //这里显然也有问题,关联数组的键名应加上引号:
    if ($_POST['submit']) {
        $user1 = $_POST['username'];
        $pass1 = $_POST['password'];
      

  5.   

    不加也可以的,是不是我的PHP版本低了,不支持构造函数啊!
      

  6.   

    我的是php5.2.5版本啊!那错误怎么提示
    Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO) in E:\PHPwww\enter\conn.php on line 20
      

  7.   

    Access denied for user 'ODBC'@'localhost' (using password: NO) 
    你确定你的MYSQL用户和密码用对了?你用了root用户,或者你根本没有设置root用户,用PHPMYADMIN打开数据库看看 mysql库里的user表里什么样的!
      

  8.   

    public function _construct($sql)
    这样试试。
      

  9.   

    __construct 两个下划线