2015-12-13 35 views
1

我已經重新安裝了XAMPP,PHP,MySQL的新版本以及Elclipse Mars和XDebug。數據庫可以通過PHPMySdmin訪問。用戶連接到MySQL服務器,但無法選擇數據庫

在PHP中我將用戶連接到服務器

$x = mysql_connect('localhost', 'user'); 
    echo "Connect=($x)<BR>"; 
    if (!$x) echo "Connect failed"; 

這時候我不使用用戶的密碼連接的罰款。當我這樣做時,它失敗了。

然後我試着用

$db = 'database'; 
    $b = mysql_select_db($db, $x); 

這無法選擇數據庫。那麼

$b = mysql_query("USE $db", $x); 

我已授予用戶所有權限。

顯然我失去了一些東西。我必須將用戶關聯到phpMyAdmin中的數據庫嗎?怎麼樣?還有別的嗎?

我的配置。

XAMPP 3.2.2 PHP 30年5月5日 火星的Eclipse(4.5.1) 的XDebug 2.3.3

謝謝。

+0

是的,您需要擁有一個具有數據庫相應權限的mysql用戶。你也應該使用mysqli,因爲mysql已經摺舊了。 – Tristan

+0

我剛剛與'root'連接,而不是'user'。我可以選擇'數據庫'。所以我的問題是搞清楚PhpMyAdmin正確設置用戶。 – user3637858

+0

**警告**:您正在使用[an **過時的**數據庫API](http://stackoverflow.com/q/12859942/19068),並應使用[現代替換](http:// php。淨/手動/ EN/mysqlinfo.api.choosing.php)。 – Quentin

回答

1

我建議嘗試mysql_error手冊的第一個例子:

http://php.net/manual/en/function.mysql-error.php

那麼你應該收到錯誤消息,並且更多地瞭解發生了什麼事情。

+0

Santy,爲了將我的代碼剝離到最基本的要領,我沒有發佈mysql_error()調用。它表示用戶沒有權限訪問數據庫。我會研究mysqli。 – user3637858

+0

mysqli今天確實是一個明智的選擇。 – Santy

0

您可以分配權限的MySQL用戶在phpMyAdmin之類的特定數據庫具有以下步驟:

  1. 點擊Edit Privileges您要更改用戶的用戶選項卡
  2. 點擊/加
  3. 點擊Database「按鈕」(在頂部的最新版本的phpMyAdmin,或在舊版本您從下拉一半數據庫頁面向下)
  4. 從列表中選擇數據庫,並單擊Go
  5. 選擇適當的權限
  6. 確保通過單擊開始保存,然後再次嘗試您的代碼。