本人刚接触PHP 按网上的教程做了 但连接不到数据库
<?php
/*****************************
*数据库连接
*****************************/
$conn = @mysql_connect("localhost","root","zhixuan1996");
if (!$conn){
die("连接数据库失败:" . mysql_error());
}
mysql_select_db("zhixuan", $conn);
//字符转换,读库
mysql_query("set character set 'utf-8'");
//写库
mysql_query("set names 'utf-8'");
?>
<?php
session_start();//注销登录
if($_GET['action'] == "logout"){
unset($_SESSION['userid']);
unset($_SESSION['username']);
echo '注销登录成功!点击此处 <a href="login.html">登录</a>';
exit;
}//登录
if(!isset($_POST['submit'])){
exit('非法访问!');
}
$username = htmlspecialchars($_POST['username']);
$password = MD5($_POST['password']);//包含数据库连接文件
include('conn.php');
//检测用户名及密码是否正确
$check_query = mysql_query("select uid from user where username='$username' and password='$password' limit 1");
if($result = mysql_fetch_array($check_query)){
//登录成功
$_SESSION['username'] = $username;
$_SESSION['userid'] = $result['uid'];
echo $username,' 欢迎你!进入 <a href="my.php">用户中心</a><br />';
echo '点击此处 <a href="login.php?action=logout">注销</a> 登录!<br />';
exit;
} else {
exit('登录失败!点击此处 <a href="javascript:history.back(-1);">返回</a> 重试');
}
?>

解决方案 »

  1.   

    显示的是登录失败,而不是连接数据库失败。
    看来数据库是连接上了,看代码应该是用户名或密码错
    $check_query = mysql_query("select uid from user where username='$username' and password='$password' limit 1") or die(mysql_error());
    echo "select uid from user where username='$username' and password='$password' limit 1";看看有没有mysql_error,然后打印这句出来看看,username,password传入去的是什么。
      

  2.   


    $password = MD5($_POST['password']);但是你数据库的password是没有MD5的值
      

  3.   

    $password = MD5($_POST['password']);
    改成¥password = $_POST['password'];
    或者,将数据库中密码字段的zhixuan改成5986c114afb08719b3c3c7d12681670a;
      

  4.   

     就和楼上说的一样。。你数据库密码没有MD5。。然后你登录的密码。MD5后。。肯定不一样啊。。
      

  5.   

    $username = htmlspecialchars($_POST['username']);
    $password = MD5($_POST['password']);//包含数据库连接文件
    include('conn.php');
    //检测用户名及密码是否正确
    $check_query = mysql_query("select uid from user where username='$username' and password='$password' limit 1");
      

  6.   

    '$username'  这点不是单引号  用链接符号 . 来链接