這個(gè)錯(cuò)誤的意思是文件沒有找到,需要的文件名是:數(shù)據(jù)庫連接.PHP
創(chuàng)新互聯(lián)建站是一家專業(yè)提供羅田企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、成都網(wǎng)站制作、H5場景定制、小程序制作等業(yè)務(wù)。10年已為羅田眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
你檢查文件是否存在,確保正確文件存在即可解決。
當(dāng)然,有時(shí)候看起來存在,實(shí)際上電腦認(rèn)為不存在,這就是漢字編碼問題,看起來一樣的漢字,在UTF-8、GBK下的電腦存儲(chǔ)數(shù)據(jù)是不同的。建議所有的PHP文件名都使用英文,這樣可以避免編碼問題。
這是由于數(shù)據(jù)庫連接數(shù)過多導(dǎo)致的,說明之前建立的連接你沒有釋放。
看到你的需求是實(shí)時(shí)獲取數(shù)據(jù)庫里面的內(nèi)容,可以考慮使用內(nèi)存數(shù)據(jù)庫,這樣返回的效率高,也會(huì)避免過多連接的錯(cuò)誤。
可以使用redis和memcache來解決這個(gè)問題。代碼如下,記得首先要安裝redis,并且要安裝php-redis擴(kuò)展。
?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");
問題一
今天給本本裝上mysql和php,一切安裝都很正常(php@IIS7.5-fastCGI)。但用phpmyadmin連接測試時(shí)卻出現(xiàn)“#2002無法連接”的錯(cuò)誤,用其它程序也是同樣問題。
檢查了下,php的mysql擴(kuò)展正確安裝,mysql服務(wù)正常啟動(dòng)--那就奇了怪了。又用navicat連接,居然連上了。??磥硎莗hp和mysql間的通訊出了問題。
百度了一下,問題被揪出來了:
mysql_connect()函數(shù)數(shù)據(jù)庫服務(wù)器(server)參數(shù)當(dāng)前設(shè)置為localhost,但當(dāng)其更改為127.0.0.1后又可以正常訪問。
系統(tǒng)hosts文件未提供127.0.0.1到localhost的解析。
解決方法(以win7系統(tǒng)為例):找到C:\Windows\System32\drivers\etc\hosts文件,默認(rèn)為只讀,你需要復(fù)制一份到其他路徑如桌面,打開文件(打開方式:記事本),在文件末尾添加:
127.0.0.1 localhost
如果已存在去掉其前面的“#”。
問題二
php腳本可以正常運(yùn)行,如phpinfo()。
只要一出現(xiàn)“mysql_connect”函數(shù),就沒反應(yīng),也不報(bào)錯(cuò)。
如 $conn = mysql_connect("127.0.0.1","root","xxxx") or die("MYSQL數(shù)據(jù)庫連接失敗:".mysql_error());
apache日志目錄error.log中出現(xiàn)
PHP Warning: PHP Startup: Unable to load dynamic library 'c:\\php\\ext\\php_mysql.dll'
解決辦法
將“l(fā)ibmysql.dll”復(fù)制到apache的bin目錄下。然后重啟,觀察error.log,如果錯(cuò)誤消失,那恭喜了。
另:網(wǎng)上資料也有說將““l(fā)ibmysql.dll””“php_mysql.dll”復(fù)制到windows/system32的。
首先確認(rèn)數(shù)據(jù)庫名是否寫錯(cuò),然后看引入路徑是否正確。最后看語法是否正確。沒有報(bào)錯(cuò)提示,只能想到這些。