2012-05-19 84 views
2
<? 
require_once('etcore.php'); 
mysql_connect($dburl,$dbuser,$dbpass) or die(mysql_error()); 
mysql_select_db("rshost") or die(mysql_error()); 
$username=strtoupper(clean($_POST['username'])); 
$password=md5($_POST['password']); 
$andover = mysql_query("SELECT * FROM users WHERE usernameupper='$username' AND password='$password'") or die(mysql_error().__LINE__); 
$numberofthings = mysql_num_rows($andover) or die(mysql_error().__LINE__); 
if ($numberofthings = 1) { 
    $getit=mysql_fetch_array($andover) or die(mysql_error().__LINE__); 
    $_SESSION['id'] = $getit['id']; 
    header('Location: index.php'); 
} 
else { 
?> 
<h1>Login:</h1> 
<img src='http://media.idownloadblog.com/wp-content/uploads/2011/12/Warning.png' width="25" height="25" /> 
<strong style="color:#F03;">Incorrect Username and/or Password </strong><br> 
<form method="POST" action="login.php"> 
Username: <input name="username" type="text" /><br /> 
Password: <input name="password" type="password" /><br /> 
<input name="submit" type="submit" value="Log In!" /><br /> 
</form> 
<? } ?> 

这是我使用的代码。每当我运行代码时,我都会在第7行收到错误“没有选择数据库”。任何帮助将不胜感激。谢谢!顺便说一句:Db的用户,传递和URL都在'etcore.php'文件中,所以这不是问题。我也尝试用字符串替换这些变量并得到相同的错误。PHP MYSQL数据库没有选择 - 找不到错误

+0

哪一个是第7行? '$ andover = mysql_query(...)'一个? –

+4

尝试保存连接句柄并明确传递它。你正在创建一个新的连接到数据库的干净功能的任何变化?无论如何,值得一试:$ res = mysql_connect(); mysql_select_db(“rshost”,$ res); mysql_query(...,$ res); –

+0

@Darhazer谢谢你,它帮了很多! – jbman223

回答

5

如何:

mysql_select_db("rshost", mysql_connect($dburl,$dbuser,$dbpass)) 

甚至更​​好:

$handle = mysql_connect($dburl,$dbuser,$dbpass); 
mysql_select_db("rshost", $handle); 

也许一个更好的认识和理解:在部分 manual page

参数 所以它会清楚为什么它可能会或不可以不使用工作参数

0

给予数据库特权。可能是你没有用户权限访问数据库, 检查这个

mysql> grant all privileges on Databasename.* to 'username'@'localhost' identified by password 
+0

这实际上解决了我的问题!显然,旧的mysql函数并没有在错误上说出真相 - 喷射另一个原因,我们不应该使用它们! – trojan