2012-05-19 65 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

相關問題