[英]Mysql Connection errors
以下代碼是我的config.php
<?php
$sDbHost = 'localhost';
$sDbName = 'liodir';
$sDbUser = 'root';
$sDbPwd = '';
$dbConn = mysql_connect($sDbHost, $sDbUser, $sDbPwd)
or die('MySQL connect failed: '. mysql_error());
mysql_select_db($sDbName,$dbConn)
or die('Cannot select database: '. mysql_error());
?>
它給出了以下錯誤
警告:mysql_connnect(){function_mysql_connect}:第6行的config.php中連接過多
它不允許打開任何頁面。 請提供一些解決方案。
如錯誤消息所示,您正在嘗試打開與已打開最大連接數的數據庫的連接。
假設您正在連接到自己的開發數據庫並且是它的唯一用戶,並且my.cnf文件中的max_connections和max_user_connections設置為合理的值,那么接下來要檢查的是您的PHP代碼是否關閉了其數據庫連接(在打開新連接之前。 您的數據庫很可能具有一堆打開的連接,而您的代碼仍處於打開狀態。 經常運行程序,可以最大程度地增加數據庫連接的最大數量。
就我個人而言,我更喜歡使用mysql_pconnect()建立持久連接,該連接保持打開狀態,並且在程序的初始化狀態期間不需要多次調用。
嘗試這個
<?php
$sDbHost = 'localhost';
$sDbName = 'liodir';
$sDbUser = 'root';
$sDbPwd = '';
$dbConn = mysqli_connect($sDbHost, $sDbUser, $sDbPwd, $sDbName) or die('MySQLi connect failed. ' . mysqli_error($dbConn));
?>
編輯
在文件末尾(或者,如果要切換控件,則在將控件切換到其他頁面之前),也請關閉connection
。
mysqli_close($dbConn);
但是默認值為151
你可以試試這個
<?php
$sDbHost = "localhost";
$sDbName = "liodir";
$sDbUser = "root";
$sDbPwd = "";
// Create connection
$conn = mysqli_connect($sDbHost , $sDbName , $sDbPwd );
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>
或使用您的代碼
<?php
$sDbHost = 'localhost';
$sDbName = 'liodir';
$sDbUser = 'root';
$sDbPwd = '';
$dbConn = mysqli_connect($sDbHost, $sDbUser, $sDbPwd, $sDbName);
// Check connection
if (!$dbConn) {
die("Connection failed: " . mysqli_connect_error($dbConn));
}
echo "Connected successfully";
?>
容易理解。
您告訴我的第二個問題是您的瀏覽器沒有顯示任何錯誤。
這是解決此問題的方法
php.ini
然后將error_reporting = 0
更改為error_reporting = E_ALL
希望能有所幫助〜
現在瀏覽器沒有顯示我的文件錯誤,但將來可能再次發生。 請提供永久解決方案。
正如@Frank已經說過的,這表明mysql服務器有足夠的客戶端打開。 你不能再這樣了。 我會建議你-
//這是一個例子
// create the connection
$con = mysqli_connect("HostName","UserName","password","DBName") or die("Some error occurred during connection " . mysqli_error($con));
// Write query
$strSQL = "SELECT username FROM MyTable";
// Execute the query.
$query = mysqli_query($con, $strSQL);
while($result = mysqli_fetch_array($query))
{
echo $result["username"]."
";
}
// Close the connection
mysqli_close($con);
?>
mysql>顯示進程列表\\ G
*************************** 1.行******************** *******
Id: 1
User: root
Host: localhost:58834
db: NULL
Command: Query
Time: 0
State: init
Info: show processlist
1 row in set (0.00 sec)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.