這是由于數(shù)據(jù)庫連接數(shù)過多導(dǎo)致的,說明之前建立的連接你沒有釋放。
成都創(chuàng)新互聯(lián)公司專注于達日企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),成都商城網(wǎng)站開發(fā)。達日網(wǎng)站建設(shè)公司,為達日等地區(qū)提供建站服務(wù)。全流程按需求定制設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
看到你的需求是實時獲取數(shù)據(jù)庫里面的內(nèi)容,可以考慮使用內(nèi)存數(shù)據(jù)庫,這樣返回的效率高,也會避免過多連接的錯誤。
可以使用redis和memcache來解決這個問題。代碼如下,記得首先要安裝redis,并且要安裝php-redis擴展。
?php
$redis = new Redis();
$redis-connect('127.0.0.1', 6379);//serverip port
$redis-auth('mypassword');//my redis password
$redis -set( "test" , "Hello World");
echo $redis -get( "test");
你的構(gòu)造方法是__construct($host,$user,$password,$datebase)
但是你在new的時候,少了這些參數(shù)
$db = new Config();
把這些參數(shù)加上就正確了。
$db = new Config($host,$user,$password,$datebase);
或者你直接把__construct($host,$user,$password,$datebase)
改成
__construct()
php5.6以后已經(jīng)棄用了mysql_函數(shù),估計你是版本太高了,高于5.6版本的可以用mysqli_函數(shù),具體寫法請查閱PHP文檔
1. 我覺得
include("conn/conn.php");
這句代碼最好不要寫在 checkinput() 函數(shù)代碼里,因為這樣可能conn/conn.php可能就會執(zhí)行多次。
2. 從代碼上看,有兩處地方需要檢查:
(1) conn/conn.php 里連接數(shù)據(jù)庫是否正確?
(2) "select * from tb_manager where name='".$this-name."' and pwd='".$this-pwd."'" 看這句SQL語句是否能得到正確結(jié)果?
你應(yīng)該把這個插入代碼做成存儲過程,把數(shù)據(jù)作為參數(shù),不需要每次插入數(shù)據(jù)都生成一個存儲過程。
exec是執(zhí)行單條語句的,應(yīng)該只執(zhí)行了第一條,后面多的都沒有執(zhí)行。
你可以看下數(shù)據(jù)庫里是否成功插入了數(shù)據(jù)