導航:首頁 > 編程語言 > php獲取mysql錯誤

php獲取mysql錯誤

發布時間:2023-10-16 10:30:59

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資料庫錯誤,求解

碼沒錯,只是沒有載入php_mysql.dll這個extension 修改php.ini後要重啟apache才行,不然你修改的效果不會顯示出來的

Ⅲ 近期使用phpmysql出現error:Lost connection to MySQL server ring query錯誤,急求!!!

一般這種情況可能的原因:

1.資料庫太大,導致伺服器超時了並且關閉了連接。這種情況你可以通過修改mysql的超時配置來改善,如interactive_timeout、wait_timeout、max_allowed_packet。

2.也有可能是你訪問的資料庫表有問題,這種情況一般就是只當你訪問某個表才會出現這個問題,那麼你可能需要修復下該表。

以下是mysql用戶手冊中的相關資料:

18.2 使用MySQL時的一些常見錯誤

18.2.1 MySQL server has gone away錯誤

本小節也涉及有關Lost connection to server ring query的錯誤。

對MySQL server has gone away錯誤最常見的原因是伺服器超時了並且關閉了連接。預設地,如果沒有事情發生,伺服器在 8個小時後關閉連接。你可在啟動mysqld時通過設置wait_timeout變數改變時間限制。

你可以通過執行mysqladmin version並且檢驗正常運行的時間來檢查MySQL還沒死掉。

如果你有一個腳本,你只須再發出查詢讓客護進行一次自動的重新連接。

在這種請下,你通常能獲得下列錯誤代碼(你得到的是OS相關的):

CR_SERVER_GONE_ERROR 客戶不能發送一個問題給伺服器。
CR_SERVER_LOST 當寫伺服器時,客戶沒有出錯,但是它沒有得到對問題的一個完整的答案(或任何答案)。

如果你向伺服器發送不正確的或太大的查詢,你也可能得到這些錯誤。如果mysqld得到一個太大或不正常的包,它認為客戶出錯了並關閉連接。如果你需要較大的查詢(例如,如果你正在處理較大的BLOB列),你可以使用-O max_allowed_packet=#選項(預設1M)啟動mysqld以增加查詢限制。多餘的內存按需分配,這樣mysqld只有在你發出較大差詢時或mysqld必須返回較大的結果行時,才使用更多的內存!

Ⅳ 使用php鏈接mysql資料庫的時候報錯了,錯誤提示: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 )));
查看一下返回什麼錯誤描述,然後根據錯誤描述進行修改,當然也可以查看mysql的錯誤日誌啦
ps:光從代碼上沒看出錯誤,有可能資料庫里的欄位名你寫錯了

閱讀全文

與php獲取mysql錯誤相關的資料

熱點內容
源碼資料庫怎麼配備 瀏覽:136
知乎程序員小灰 瀏覽:574
新概念英語第一冊書pdf 瀏覽:5
安卓ans文件怎麼打開 瀏覽:893
選擇題改進分治演算法的方法有 瀏覽:108
下載雲伺服器有什麼好處 瀏覽:23
江蘇機架式伺服器雲主機 瀏覽:411
linux補全命令 瀏覽:514
我要打命令 瀏覽:970
御人pdf 瀏覽:390
小米手機怎麼發送文件夾用qq 瀏覽:917
找人一起玩用什麼app好 瀏覽:398
程序員最煩的4件事 瀏覽:485
怎麼查ice伺服器 瀏覽:760
excel加密不可以復制 瀏覽:308
py編譯器的鍵盤輸入在哪 瀏覽:226
雲伺服器和深度學習 瀏覽:102
交叉編譯標准輸出 瀏覽:24
如何啟用DNS伺服器 瀏覽:736
香港雲伺服器一年多少錢 瀏覽:417