程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php無法連接mysql問題解決方法總結

php無法連接mysql問題解決方法總結

編輯:關於PHP編程

本文章總結了在php開發中可能會常常碰到的一些php連接不了mysql數據庫的一些問題總結與解決方法分享,有需要的朋友可參考一下。

問題一

今天給本本裝上mysql和php,一切安裝都很正常([email protected])。但用phpmyadmin連接測試時卻出現“#2002無法連接”的錯誤,用其它程序也是同樣問題。
檢查了下,php的mysql擴展正確安裝,mysql服務正常啟動--那就奇了怪了。又用navicat連接,居然連上了。。看來是php和mysql間的通訊出了問題。
百度了一下,問題被揪出來了:
mysql_connect()函數數據庫服務器(server)參數當前設置為localhost,但當其更改為127.0.0.1後又可以正常訪問。
系統hosts文件未提供127.0.0.1到localhost的解析。

解決方法(以win7系統為例):找到C:\Windows\System32\drivers\etc\hosts文件,默認為只讀,你需要復制一份到其他路徑如桌面,打開文件(打開方式:記事本),在文件末尾添加:

127.0.0.1 localhost

如果已存在去掉其前面的“#”。

問題二


php腳本可以正常運行,如phpinfo()。

只要一出現“mysql_connect”函數,就沒反應,也不報錯。

如 $conn = mysql_connect("127.0.0.1","root","xxxx") or die("MYSQL數據庫連接失敗:".mysql_error());

 apache日志目錄error.log中出現

PHP Warning:  PHP Startup: Unable to load dynamic library 'c:\\php\\ext\\php_mysql.dll'

 解決辦法

將“libmysql.dll”復制到apache的bin目錄下。然後重啟,觀察error.log,如果錯誤消失,那恭喜了。

 另:網上資料也有說將““libmysql.dll””“php_mysql.dll”復制到windows/system32的。


問題三

 

 代碼如下 復制代碼 <?//以上代碼省略
 $link_id=@mysql_connect( "localhost ", "sampadm ", "secret ");
  //以下代碼省略
?>

運行時出現如下提示:
fatal   error:   call   to   undefined   function     mysql_connect()   in   var/www/html/mytest.php

解決方法

1.php.ini中

  extension_dir設置為   "d:\apache2\php\ext "絕對路徑,否則有些環境中會出錯。

  打開下面兩行功能擴展

  extension=php_mysql.dll    
  extension=php_mysqli.dll
 
2.拷貝libmysql.dll(php目錄下)和php_mysql.dll(php/ext目錄下)至c:\windows\system32目錄下(libmysql.dll必須為php目錄下,比如我的為D:\apache2\php目錄下的libmysql.dll,php_mysql.dll則在D:\apache2\php\ext)
 
3.測試,
  1>   先打開命令行
A)依次點擊“開始”菜單-> “mysql”-> “mysql5   server”-> “MySQL   Command   Line   Client”
//如此步成功則mysql安全成功,失效則mysql安裝失敗,請卸載後重裝
 
B)輸入密碼
//此步正常則說明   root賬戶的密碼正確。失敗則賬號密碼有錯
 
    2>   新建文件至主目錄,並保存為testmysql.php,接著在浏覽器中輸入http://localhost/testmysql.php   (或者http://localhost:81/testmysql.php)


如果不行查看一下apache是否加載了php與 mysql方法


apache中支置對php5的支持httpd.conf文件中加入下面三行
PHPIniDir "D:/ccopen/php5/"
LoadModule php5_module "D:/ccopen/php5/php5apache2_2.dll"
AddType application/x-httpd-php .php 
php.ini中去掉下面兩行分號
extension=php_mysql.dll  
extension=php_mysqli.dll
將php_mysql.dll和libmysql.dll拷到system32
重起apache服務器

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved