嘗試一下解決方法:

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的黔西網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1、數(shù)據(jù)庫連接失敗could not find driver
在調(diào)試一個PHP程序時,報了這個錯誤, could not find driver
經(jīng)過一番查找,結(jié)合自己的思考和實踐,終于找到了問題所在.
程序中用到了PDO對象, 連接mysql 5. 在PHP的默認(rèn)設(shè)置中,只打開了php_pdo 模塊, 沒有打開php_pdo_mysql模塊.所以才會出現(xiàn)找不到驅(qū)動程序的錯誤.
修改php.ini
extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
2、重啟apache就可以了. 用別的數(shù)據(jù)庫,打開對應(yīng)的模塊就OK了
如果在linux下面,確信模塊pdo_mysql.so已經(jīng)編譯進(jìn)php。
在php.ini下面添加:
extension=pdo_mysql.so
1、檢查環(huán)境正常
使用mysql -u root -p 可以進(jìn)入MySQL操作界面
直接使用/usr/local/php5/bin/php /web/test.php執(zhí)行可以連上數(shù)據(jù)庫
2、打開hosts加入
復(fù)制代碼代碼如下:127.0.0.1 qttc
使用qttc當(dāng)主機連接也正常,唯獨就不認(rèn)localhost。
3、localhost連接方式不同導(dǎo)致
為了了解PHP連接數(shù)據(jù)庫時,主機填寫localhost與其它的區(qū)別閱讀了大量資料,最后得知:
當(dāng)主機填寫為localhost時mysql會采用 unix domain socket連接
當(dāng)主機填寫為127.0.0.1時mysql會采用tcp方式連接
這是linux套接字網(wǎng)絡(luò)的特性,win平臺不會有這個問題
4、解決方法
在my.cnf的[mysql]區(qū)段里添加
復(fù)制代碼代碼如下:
protocol=tcp
保存重啟MySQL,問題解決!
首先確認(rèn)數(shù)據(jù)庫名是否寫錯,然后看引入路徑是否正確。最后看語法是否正確。沒有報錯提示,只能想到這些。
請檢查以下幾點問題
① 數(shù)據(jù)庫文件 未導(dǎo)入覆蓋
② 根目錄未配置數(shù)據(jù)庫
③ 檢查數(shù)據(jù)庫賬號密碼是否正確填寫
首先你可以把鏈接失敗的錯誤編碼或者錯誤代碼展示出來,然后根據(jù)錯誤編碼去手冊上面找對應(yīng)編碼錯誤的原因及解決的辦法。
一、常用普通方法
$mysql_server="localhost";
$mysql_username="數(shù)據(jù)庫用戶名";
$mysql_password="數(shù)據(jù)庫密碼";
$mysql_database="數(shù)據(jù)庫名";
//建立數(shù)據(jù)庫鏈接
$conn = mysql_connect($mysql_server,$mysql_username,$mysql_password) or die("數(shù)據(jù)庫鏈接錯誤");
//選擇某個數(shù)據(jù)庫
mysql_select_db($mysql_database,$conn);
mysql_query("set names 'utf8'");
//執(zhí)行MySQL語句
$result=mysql_query("SELECT id,name FROM 數(shù)據(jù)庫表");
//提取數(shù)據(jù)
$row=mysql_fetch_row($result);
在提取數(shù)據(jù)的時候,我們使用mysql_fetch_row,還可以使用mysql_fetch_assoc和mysql_fetch_array,具體的我們參考手冊。
第二、面向?qū)ο蠓椒?/p>
$db=new mysqli($dbhost,$username,$userpass,$dbdatabase);
if(mysqli_connect_error()){
echo 'Could not connect to database.';
exit;
}
$result=$db-query("SELECT id,name FROM user");
$row=$result-fetch_row();
第三、PDO方法
$dsn='mysql:host='.$dbhost.';dbname='.$dbdatabase.';'
$dbh=new PDO($dsn,$username,$userpass);$stmt=$dbh-query('SELECT id,name FROM user');
$row=$stmt-fetch();
推薦第三種連接方式
名稱欄目:php連接不了數(shù)據(jù)庫,php連接不上數(shù)據(jù)庫sql
本文網(wǎng)址:http://chinadenli.net/article7/dsicdij.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、品牌網(wǎng)站制作、App開發(fā)、企業(yè)網(wǎng)站制作、虛擬主機、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)