新聞中心
php連接mysql數(shù)據(jù)庫,報錯Function mysql_connect() is deprecated?
info.php在CentOS
十多年的鄂爾多斯網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整鄂爾多斯建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“鄂爾多斯網(wǎng)站設(shè)計”,“鄂爾多斯網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
64位虛擬機運行的時候,其中MySQL版本那一欄是空白信息。我查看了info.php源碼,開始以為是MySQL數(shù)據(jù)庫的用戶名和密碼填寫錯了,仔細檢查沒有錯誤之后,便查看了Apache的error_log,得到如下消息:
mysql_connect():
No
such
file
or
directory
在網(wǎng)上查了一下,說是本地socket設(shè)置與默認的不一樣,導致php無法找到mysql的socket文件。根據(jù)網(wǎng)上提供的方法,需要做如下操作。
首先,在MySQL中用status查看數(shù)據(jù)庫狀態(tài),如下所示:
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的值設(shè)置為標紅后面的那個目錄。重啟apache服務(wù)器,后續(xù)info.php工作正常,MySQL的版本信息能夠正常顯示了。
使用php鏈接mysql數(shù)據(jù)庫的時候報錯了,錯誤提示:Warning: mysqli::__construct(): (HY000/2002):
$result = mysqli_query($connect, $query) or die ('Error querying database.');這句話后面加上. mysqli_error($connect ))即改為:
$result = mysqli_query($connect, $query) or die ('Error querying database.'. mysqli_error($connect )));
查看一下返回什么錯誤描述,然后根據(jù)錯誤描述進行修改,當然也可以查看mysql的錯誤日志啦
ps:光從代碼上沒看出錯誤,有可能數(shù)據(jù)庫里的字段名你寫錯了
pHP鏈接數(shù)據(jù)庫報錯Warning: mssql_connect() [function.mssql-connect]: message: 用戶 'NT AUTHORITY\IU
之前我剛遇到過這類問題。
使用php鏈接mssql出錯,但是代碼沒有問題,本機測試正常,上傳到服務(wù)器又不行。
如果是這種情況,請參照下面的步驟。
1、運行 SQL Server 配置管理器:SQL Server Configuration Manager,打開協(xié)議 Protocols
,允許命名管道 "named pipes" 和 "tcp/ip" ,右鍵點擊 "tcp/ip",打開屬性 Properties 標簽 "IP addresses" ,在 TCP 動態(tài)端口 "TCP Dynamic Ports" 填入 1433 (其實只要填0就表示開啟了動態(tài)端口)
2、下載正確版本的 ntwdblib.dll (2000.80.194.0),地址: ,覆蓋 php\ntwdblib.dll (mssql2005,mssql2008等等對應的ntwdblib.dll文件版本不同,請參照自己的mssql版本下載對應文件。)
3、php.ini有個mssql的設(shè)置 mssql.secure_connection 改成 off。(我就因為這個弄了好久,ON的意思是使用安全連接,實際上是使用nt賬戶登錄,并非使用mssql賬戶登錄。一般我們遠程連接都是使用mssql賬戶登錄)
php查詢數(shù)據(jù)庫數(shù)據(jù)時出錯
$MysqlCurd-dql($sql);
$res=0;
$num=mysql_num_rows($res);
這三行的問題。。。
你可以這樣試試
$res= $MysqlCurd-dql($sql);
$num=mysql_num_rows($res);
使用php連接數(shù)據(jù)庫時出現(xiàn)Internal Server Error 500錯誤
500基本上都是程序的問題? ?你可以
$dbc=mysqli_connect('IP地址','數(shù)據(jù)庫用戶名','數(shù)據(jù)庫密碼','數(shù)據(jù)庫名稱')or?die('Error?connecting?to?mysql?server.');
或者打開IIS報錯
點擊錯誤頁
php連接數(shù)據(jù)庫報錯?
php5.6以后已經(jīng)棄用了mysql_函數(shù),估計你是版本太高了,高于5.6版本的可以用mysqli_函數(shù),具體寫法請查閱PHP文檔
當前文章:php數(shù)據(jù)庫事務(wù)報錯,數(shù)據(jù)庫事務(wù)異常
分享地址:http://www.ef60e0e.cn/article/dsejhih.html