能夠列印出php的配置資訊,apache也能正常啟動,mysql也能登入進去,為啥在編寫一個測試php連結資料庫就死活串連不上,本人新手,求各位高手們解答:測試代碼:
$host='localhost';
$user_name='root';
$password='123456';
$conn=mysql_connect($host,$user_name,$password);
if (!$conn)
{
die('資料庫連接失敗');
}
echo '資料庫連接成功!';
if (mysql_close($conn))
{
echo '
...
';
echo '到資料庫的串連已經成功關閉';
}
?>
運行錯誤提示:Fatal error: Call to undefined function mysql_connect() in E:\Tools\httpd-2.2.19-win64\httpd-2.2-x64\htdocs\index.html on line 7
可是使用者名稱跟密碼我明明沒錯,也能登入是愛沒辦法了!
測試php配置資訊代碼:
phpinfo();
?>
這個能輸出php佩斯資訊;
弄了好幾個小時了,還是沒轍求大大們。
回複討論(解決方案)
沒人嗎?線上等啊 ,我就這樣一直等到天亮
phpinfo中,沒有mysql, 開啟php.ini設定檔,把extension=php_mysql.dll 前面的分號去掉,儲存,重啟Apache 就可以了。
沒人嗎?線上等啊 ,我就這樣一直等到天亮
解決否???
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_oci8.dll
extension=php_openssl.dll
都做了,這些。
還有我發現我運行php.exe時候提示無法啟動,電腦中丟失OCI.dll,什麼意思?
資料庫名呢?
不用填資料庫名都可以吧,$con = mysql_connect("localhost","mysql_user","mysql_pwd");
w3c的一個例子。
對了,我發現一個問題,我現在換成WampServer這個整合的來用來,把測試檔案用WampServer來測試還是不可以連結,於是我把密碼設定為空白,就連結成功了,我點擊Mysql控制台的時候會提示我輸入密碼,這就證明我是有設定密碼的,而且我在安裝mysql的時候設定了密碼的,我就納悶了,我現在退出了WampServer,同樣的代碼在WampServer下能串連成功在改用apache+mysql+php搭建的來串連就不成功,密碼有或空哦都連結不成功,頭都大了,我都配置了2遍了,挨著挨著的看到,唉................
undefined function mysql_connect
很明顯 php_mysql 沒有載入或載入失敗
請注釋掉 extension=php_oci8.dll
既然你不用 oracle, 為何要開啟它?如果你確實需要使用 oracle,那麼你如何不知道要安裝 oracle 用戶端呢?
不要在兩個Integration Environment中驗證 mysql 的工作情況。在Integration Environment中,mysql 是隸屬於Integration Environment的,並不作為單獨的服務存在
這就是說,在一個Integration Environment中能使用mysql,而在另一個中不能,是極其正常的事情
php_mysql 需要 php 安裝目錄中的mysql支撐庫,所以你需要將php安裝目錄置於作業系統的搜尋路徑中
綠色的做法是在 httpd.conf 加入 LoadFile "php安裝路徑/php5ts.dll"
由 php5ts.dll 去找
這個LoadFile "php安裝路徑/php5ts.dll"放在httpd.conf的那個位置能具體點嗎?第一次配置這東西,很多都不懂,嘿嘿。
$conn=mysql_connect('127.0.0.1','root','123456');
if (!$conn)
{
die('資料庫連接失敗'. mysql_error());
}
echo '資料庫連接成功!';
if(mysql_close($conn))
{
echo '到資料庫的串連已經成功關閉';
}
?>
Fatal error: Call to undefined function mysql_connect() in E:\Tools\httpd-2.2.19-win64\httpd-2.2-x64\htdocs\testmysql.html on line 4
你確認mysql擴充在phpinfo()中看到了嗎
在httpd.conf檔案裡在LoadModule php5_module "c:/php/php5apache2_2.dll"下面追加如下語句即可:
PHPIniDir "c:/php"
LoadModule php5_module "E:/Tools/PHP/php-5.2.5 (x64)/php5apache2_2.dll"
PHPIniDir "E:\Tools\PHP"
這是我的