2009-07-15 355 views
0

我有MySQL正在運行,可以打開客戶端命令行並登錄並創建數據庫,表格等。做ASP,SQL Server等AJAX是不可取的,因爲我承載我的網站的兩個地方都不使用微軟的產品。所以我不得不使用PHP和MySQL來進行開發。使用PHP連接到MySQL

我剛剛設置了一切。我已經建立了IIS,以便我可以去我的本地主機,我可以測試出網頁。我安裝了PHP,以便我可以調出PHP設置頁面。

當我嘗試調出PHP中的MySQL數據庫時,就會出現這個問題。我用這個非常簡單的PHP命令:

<?php 

$con = mysql_connect('localhost', 'testuser', 'testpassword'); 

?> 

當我嘗試連接到通過PHP MySQL數據庫,我得到這個錯誤:

Click here

我想,這個問題必須在設置這是在php.ini中。但似乎我的php.ini設置爲MySQL雖然當我查詢的phpinfo頁面,此代碼

這是不是在輸出提到的是這樣的結果:

Click here

+0

未啓用的MySQL。你有沒有在php.ini中刪除評論標誌? – klakegg 2009-07-15 10:44:44

+0

你可能會喜歡使用mysqli而不是mysql--對準備語句的支持至少在我的書中使它更優秀。 不是我寫過一本書... – 2009-07-15 10:54:23

+0

這不是一個編程問題。它是php dev堆棧的基本設置。 – markus 2009-07-15 10:56:54

回答

3

它看起來是你的PHP MySQL的缺失模塊

在php.ini

確保您有正確的擴展路徑例如。:

extension_dir = "C:\php\ext" 

,並確保你已經註釋掉:

extension=php_mysql.dll 
extension=php_mysqli.dll 
0

你運行的是哪個版本的PHP,你確定你已經安裝了MySQL,並且在本地主機上運行了一個用戶名爲「testuser」並且密碼爲「testpassword」的MySQL(並且在創建這些用戶後重新加載了權限表)?

你是否配置了IIS來將錯誤記錄到文件中?是否提供更多信息?

0

創建一個包含以下內容的新的PHP文件:

<?php 
phpinfo(); 
?> 

這將helpy你發現,如果MySQL已經在正確等編譯你可以在命令行訪問MySQL服務器;使用類似的東西:

mysql -u testuser -ptestpassword testdatabase 

如果你從MySQL獲得一個提示,在服務運行,我們可以更好地從那裏幫助。

希望有所幫助!

0

您是否選擇了數據庫?你的連接語句後,您需要使用:

mysql_select_db($databaseName, $conn); 

文檔瀏覽:http://php.net/mysql_select_db

0

我會做的就是下載完整的包在一氣呵成(服務器,MySQL和PHP)。有很多像WAMP或MAMP這樣的優秀資源(用於MAC用戶)。一旦你下載了軟件包,安裝就變得很簡單,你不必自動設置任何東西。

他們也有phpMyAdmin,您可以在其中管理您的數據庫及其用戶和權限。

一旦你運行了服務器,你可以測試那些對我來說很好的代碼。嘗試運行是這樣的:

<?php 
     $link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); 
     if (!$link) { 
       die('Could not connect: ' . mysql_error()); 
     } 
     echo 'Connected'; 
     mysql_close($link); 
?> 

乾杯

+0

因此,MySQL不再默認啓用,所以php_mysql.dll DLL必須在php.ini內啓用。這是如何完成的?我搜索了php.ini,但沒有找到php_mysql.dll。 – xarzu 2009-07-16 04:58:30