phpmysql報錯
❶ php連接mysql資料庫,報錯Function mysql_connect() is deprecated
info.php在CentOS
64位虛擬機運行的時候,其中MySQL版本那一欄是空白信息。我查看了info.php源碼,開始以為是MySQL資料庫的用戶名和密碼填寫錯了,仔細檢查沒有錯誤之後,便查看了Apache的error_log,得到如下消息:
mysql_connect():
No
such
file
or
directory
在網上查了一下,說是本地socket設置與默認的不一樣,導致php無法找到mysql的socket文件。根據網上提供碧團空的方法或沖,需要做如下操作。
首先,在MySQL中用status查看資料庫狀態,如下所示:
mysql
Ver
14.14
Distrib
5.1.69,
for
redhat-Linux-gnu
(x86_64)
using
readline
5.1
Connection
id:
10
Current
database:
Current
user:
root@localhost
SSL:
Not
in
use
Current
pager:
stdout
Using
outfile:
''
Using
delimiter:
;
Server
version:
5.1.69
Source
distribution
Protocol
version:
10
Connection:
Localhost
via
UNIX
socket
Server
characterset:
latin1
Db
characterset:
latin1
Client
characterset:
latin1
Conn.
characterset:
latin1
UNIX
socket:
/var/lib/mysql/mysql.sock
Uptime:
20
hours
55
min
30
sec
其中,標紅的部分是我們需要的。然後打開php.ini文件,需要將mysql.default_socket、mysqli.default_socket、悔瞎pdo_mysql.default_socket的值設置為標紅後面的那個目錄。重啟apache伺服器,後續info.php工作正常,MySQL的版本信息能夠正常顯示了。
❷ php+mysql網站上傳 資料庫連接失敗
1
主要報錯是:Can'tconnecttoMySQLserveron'localhost'(10061)
可能是是人家的埠不是3306,改了的
如果是用戶名、密碼錯誤的話,應該有另一種報錯提示。
2
ordie("資料庫伺服器連接錯誤……………………
你已經寫了這一句報錯提示,但是程序卻直接給出MYSQL錯誤報告,好奇怪……照理說,這個「第二行」執行不成功的話,應該給出「資料庫伺服器連接錯誤」才對,懷疑你的mysql_connect("localhost","root","root")是不是將雙引號弄成中文狀態了
3
("localhost","root","root")
好牛的密碼和用戶名,人家伺服器商直接把這個用戶許可權給你了?
4
你太牛了!既然沒有上傳資料庫內容~~~~
先把你本地的資料庫導出來,直接導出SQL代碼
然後再在伺服器運行這些SQL代碼,看圖,phpMyAdmin有數據導出和SQL執行功能。