2013-08-02 49 views
0

我是第一次嘗試學習MySQL和PHP的控制系統工程師。當從本地網站執行PHP時,mysqli_connect在Windows 7上的IIS的本地主機上失敗

我的Windows 7家庭高級版開發計算機安裝了MS IIS服務器。我已使用Internet信息服務IIS管理器在我的計算機上創建小型1頁網站,網址爲C:\inetpub\wwwroot\mysite。瀏覽網站時的地址是http:\ 192.168.1.8。

MySQL服務器5.6安裝在C:\Program Files\MySQL\MySQL Server 5.6。 PHP 5.3安裝在C:\Program Files (x86)\PHP\V5.3。 Phpmyadmin 4.0.4安裝在C:\inetpub\phpmyadmin中。我是我電腦的唯一用戶,因此我擁有管理權。

我成功地使用了"http://localhost/Phpmyadmin"來創建MySQL數據庫及其第一個表。它看到數據庫在127 0 0 1.

我的php文件中的以下行將返回錯誤字符串(即我的進步,因爲瀏覽器不只是顯示php文件的內容)。

$dbc = mysqli_connect('http : // 127 0 0 1', 'mysqlusername', 'mysqlpassword', 'mydatabase') 
or die('Error connecting to MySQL server.'); 

mysqlusername,mysqlpassword和mydatabase都可以使用http:// localhost/phpmyadmin。對於連接,我試過:http : // 127 0 0 1,http : // localhosthttp : // localhost/ 127 0 0 1。但我總是得到錯誤。

Windows搜索,顯示數據庫在2個地方:C:\ProgramData\MySQL Server 5.6 Data\mydatabaselocalhost/127 0 0 1/ mydatabase

任何人都可以請幫我弄清楚什麼是錯的?也許有一個需要改變的配置文件?有沒有人知道是否有一個簡單的指南,解釋IIS,MySQL和PHP如何協同工作的基礎知識(也許是地圖)。

在上面的句子中,我放了一堆空格,並將一些句號改爲空格,以便我可以發佈這個問題。

+0

當它嘗試連接到數據庫時發生的實際錯誤是什麼?你可以使用'mysqli_error()'來獲得實際的錯誤,而不是你在'die()'語句中輸入的錯誤:http://php.net/manual/en/mysqli.error.php – David

回答

4
$dbc = mysqli_connect('http://127.0.0.1', 'mysqlusername', 'mysqlpassword','mydatabase') 

不起作用,它不通過HTTP連接。只需指定IP或主機名:

$dbc = mysqli_connect('127.0.0.1', 'mysqlusername', 'mysqlpassword','mydatabase') 
// or 
$dbc = mysqli_connect('localhost', 'mysqlusername', 'mysqlpassword','mydatabase') 
+0

非常感謝!簡單地使用127.0.0.1完美工作!我只有1個其他問題,MS Expression Web 4無法發佈到我的本地主機。錯誤:服務器擴展無法訪問文件C:\ inetpub \ wwwroot \ mysite \ _vti_pvt/service.lck。我將Expression Web 4配置爲使用:連接類型:文件系統,位置:C:\ inetpub \ wwwroot。我使用Windows資源管理器來檢查所有設置爲CREATER OWNER的inetpub,wwwroot,mysite和_vti_pvt文件夾的權限,service.lck的權限爲SYSTEM。有沒有簡單的解決方案?再次感謝! – user2646006

+0

哦,mysqli_error()返回:查詢數據庫時出錯。 – user2646006

+0

您是否嘗試過運行帶有提升權限的MS Expression Web 4?爲此,請右鍵單擊MS Expression Web 4快捷方式,然後選擇「以管理員身份運行」。 – klkvsk

相關問題