2013-02-05 111 views
0

我正試圖在Windows XP sp3筆記本電腦上運行mySQL。我正在使用Apache2, php5mysqlmysql不能與php一起工作

從命令提示符,我可以進入MySQL服務器,並開始創建數據庫和表。

在php中,每次嘗試運行任何數據庫操作時,所有腳本都會停止。

php.ini,我並啓用以下:

extension=php_mysql.dll 
extension=php_mysqli.dll  

我有以下代碼來測試數據庫:

echo '<p>testinp php script</p>'; 


// mysqli 
$mysqli = new mysqli("localhost", "root", $pw, $db); 

echo 'Still here<br>'; 

$result = $mysqli->query("SELECT * from test"); 
$row = $result->fetch_assoc(); 
print_r ($row); 


echo 'Still here'; 

我不知道爲什麼,但我不能獲取屏幕上顯示的"Still here"消息,該腳本就在執行的頂部。

我也啓用防火牆端口沒有更好的結果。

+3

您是否嘗試過打印出mysqli錯誤? –

+0

您是否在修改php.ini後重新啓動apache? –

回答

1

您沒有向我們展示您爲用戶名和密碼定義變量的位置。

如果您確定此擴展程序處於活動狀態。使用以下命令:

if (class_exists('mysqli')) { 
    echo "MySQLi Class Exists"; 
} 
else 
{ 
echo "MySQLi Class Does Not Exist"; 
} 

這可以檢查是否已經成功啓用了這個類,使用function_exists會返回一個錯誤,因爲庫MySQLi & PDO(備查)是基於類。

如果不確定是否已正確配置MySQLi連接。請參閱手冊。 http://php.net/manual/en/mysqli.construct.php

以及最後但並非最不重要的,因爲你已經修改了你的php.ini ..仔細檢查以下內容:

1)你確定你已經修改了一個由阿帕奇裝? - 如果有疑問..使用phpinfo來確定php.ini的位置

2)修改php.ini需要重啓/重新加載apache ..所有的時間。 更新:執行下列操作之一以爲你是在Linux上,直到讀取標籤

如果使用IIS:

打開你的管理控制檯,然後選擇「重新啓動」

如果使用XAMPP:

打開您的管理控制檯對於Xampp並停止服務,然後重新啓動它。

通過命令行:

net stop apache2.4然後net start apache2.4(更換2。4你的Apache版本)

諮詢手冊從CLI操作服務:

http://technet.microsoft.com/en-gb/library/cc736564%28v=ws.10%29.aspx

另外,與你的echo語句。既然你有兩個相同的回波,嘗試改變他們..或者至少告訴我們有多少(如果有的話)可見?這是第一個..諮詢手冊..

如果它是你的第二個......

諮詢手冊,爲您的功能:

http://www.php.net/manual/en/mysqli.query.php - 庫MySQLi查詢

http://www.php.net/manual/en/mysqli-result.fetch-assoc.php - mysqli的取副教授

最後更新(S):

也諮詢手冊中的MySQLi錯誤:

http://php.net/manual/en/mysqli.error.php

最後但並非最不重要的...沒有連接數據庫你也存在嗎?和數據庫模式中的表一樣?

+0

謝謝,我已經嘗試了建議的代碼,並且我收到以下消息:MySQLi類不存在致命錯誤:在第36行的C:\ www \ test.php中找不到類'mysqli',Ive再次檢查ini文件和一切接縫啓用(我重新啓動Apache) –

+0

您沒有正確啓用該類;使用谷歌教程如何做到這一點 –