根據(jù)你貼出來的意思是沒有定義這個函數(shù)mysql_pconnect()
創(chuàng)新互聯(lián)技術(shù)團(tuán)隊10年來致力于為客戶提供成都做網(wǎng)站、網(wǎng)站設(shè)計、品牌網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷推廣、搜索引擎SEO優(yōu)化等服務(wù)。經(jīng)過多年發(fā)展,公司擁有經(jīng)驗豐富的技術(shù)團(tuán)隊,先后服務(wù)、推廣了上1000+網(wǎng)站,包括各類中小企業(yè)、企事單位、高校等機(jī)構(gòu)單位。
估計你是調(diào)用了一個mysql操作類的程序來操作數(shù)據(jù)庫,
第一,看看你的mysql_pconnect函數(shù)名稱是否寫錯
第二,如果是調(diào)用了類里面的函數(shù),看看你有沒有重新創(chuàng)建類
例如:$doc = new DB_Doc_Read();//new 一個類
$doc-mysql_pconnect();//調(diào)用類中的函數(shù)
第三,如果沒有調(diào)用類,是直接寫的函數(shù),那應(yīng)該是mysql_connect函數(shù)
圖片驗證碼一般跟你的系統(tǒng)沒有關(guān)系,因為是顯示在客戶端的,把你代碼貼出來我看看。
(1)創(chuàng)建系統(tǒng)數(shù)據(jù)源,用PHP提供的ODBC函數(shù)。
(2)使用PHP的ODBC函數(shù),但不創(chuàng)建數(shù)據(jù)源。
PHP使用ODBC連接Access 數(shù)據(jù)庫的方法。用$connstr="DRIVER= Microsoft Access Driver (*.mdb)來設(shè)置數(shù)據(jù)驅(qū)動,函數(shù)realpath()用來取得數(shù)據(jù)庫的相對路徑。利用該方法連接Access數(shù)據(jù)庫主要應(yīng)用到PHP的 odbc_connect()函數(shù),該函數(shù)聲明如下:
以下為引用的內(nèi)容:
resourse odbc_connect( string dsn, string user, string password [, int cursor_type])
dsn:系統(tǒng)dsn名稱
user:數(shù)據(jù)庫服務(wù)器某用戶名。
password:數(shù)據(jù)庫服務(wù)器某用戶密碼。
cursor_type:游標(biāo)類型。
代碼如下:
以下為引用的內(nèi)容:
$connstr="DRIVER=Microsoft Access Driver (*.mdb);
DBQ=".realpath("bookinfo.mdb");
$connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC );
(3)使用微軟的ADODB數(shù)據(jù)庫驅(qū)動。
定義類COM來使用ADO方法操縱Access數(shù)據(jù)庫的。
該類詳細(xì)說明如下:
以下為引用的內(nèi)容:
string com::com( string module_name [, string server_name [, int codepage]])
module_name:被請求組件的名字或class-id。
server_name:DCOM服務(wù)器的名字。
Codepage:指定用于將PHP字符串轉(zhuǎn)換成UNICODE字符串的代碼頁,反之亦然。該參數(shù)的取值有CP_ACP、CP_MACCP、CP_OEMCP、CP_SYMBOL、CP_THREAD_ACP、CP_UTF7和CP_UTF8。
PHP利用com類并使用ADO方法訪問數(shù)據(jù)庫的代碼如下:
以下為引用的內(nèi)容:
$conn = new com("ADODB.Connection");
$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("bookinfo.mdb ");
$conn-Open($connstr);
現(xiàn)在使用PDO鏈接數(shù)據(jù)庫的較多
連接是通過創(chuàng)建 PDO 基類的實例而建立的。不管使用哪種驅(qū)動程序,都是用 PDO 類名。構(gòu)造函數(shù)接收用于指定數(shù)據(jù)庫源(所謂的 DSN)以及可能還包括用戶名和密碼(如果有的話)的參數(shù)。
連接到 MySQL
?php
$dbh?=?new?PDO('mysql:host=localhost;dbname=test',?$user,?$pass);
?
如果有任何連接錯誤,將拋出一個 PDOException 異常對象。如果想處理錯誤狀態(tài),可以捕獲異常,或者選擇留給通過 set_exception_handler() 設(shè)置的應(yīng)用程序全局異常處理程序。
處理連接錯誤
?php
try?{
$dbh?=?new?PDO('mysql:host=localhost;dbname=test',?$user,?$pass);
foreach($dbh-query('SELECT?*?from?FOO')?as?$row)?{
print_r($row);
}
$dbh?=?null;
}?catch?(PDOException?$e)?{
print?"Error!:?"?.?$e-getMessage()?.?"br/";
die();
}
?
如果應(yīng)用程序不在 PDO 構(gòu)造函數(shù)中捕獲異常,zend 引擎采取的默認(rèn)動作是結(jié)束腳本并顯示一個回溯跟蹤,此回溯跟蹤可能泄漏完整的數(shù)據(jù)庫連接細(xì)節(jié),包括用戶名和密碼。因此有責(zé)任去顯式(通過 catch 語句)或隱式(通過 set_exception_handler() )地捕獲異常。
連接數(shù)據(jù)成功后,返回一個 PDO 類的實例給腳本,此連接在 PDO 對象的生存周期中保持活動。要想關(guān)閉連接,需要銷毀對象以確保所有剩余到它的引用都被刪除,可以賦一個 NULL 值給對象變量。如果不明確地這么做,PHP 在腳本結(jié)束時會自動關(guān)閉連接。
關(guān)閉一個連接
?php
$dbh?=?new?PDO('mysql:host=localhost;dbname=test',?$user,?$pass);
//?在此使用連接
//?現(xiàn)在運行完成,在此關(guān)閉連接
$dbh?=?null;
?
很多 web 應(yīng)用程序通過使用到數(shù)據(jù)庫服務(wù)的持久連接獲得好處。持久連接在腳本結(jié)束后不會被關(guān)閉,且被緩存,當(dāng)另一個使用相同憑證的腳本連接請求時被重用。持久連接緩存可以避免每次腳本需要與數(shù)據(jù)庫回話時建立一個新連接的開銷,從而讓 web 應(yīng)用程序更快。
php鏈接mysql必備條件:
已安裝mysql數(shù)據(jù)庫;
檢查php環(huán)境是否已開啟mysql擴(kuò)展(一般情況下是開啟的);
檢查方法:a.使用phpinfo();函數(shù),看有沒有mysql項;b.打開php.ini文件,檢查php_mysql.dll前分號是否已取掉。
php鏈接代碼如下:
?php
//設(shè)置編碼格式
header("Content-type:text/html;charset=utf-8");
//定義數(shù)據(jù)庫主機(jī)地址
$host="localhost";
//定義mysql數(shù)據(jù)庫登錄用戶名
$user="root";
//定義mysql數(shù)據(jù)庫登錄密碼
$pwd="";
//鏈接數(shù)據(jù)庫
$conn = mysql_connect($host,$user,$pwd);
//對連接進(jìn)行判斷
if(!$conn){
die("數(shù)據(jù)庫連接失??!".mysql_errno());
}else{
echo "數(shù)據(jù)庫連接成功!";
}
?