Re: [請益] 將連線到資料庫的動作寫成一個function
※ 引述《Altas ()》之銘言:
: 已爬文
: 各位php高手~~小弟才剛開始接觸到php沒多久
: 今天老師出了一個問題~我想破頭都想不出來
: 他把連線到mysql的動作寫成一個function 放在一個名叫connect.php的網頁中
: 內容為
: function connectdb_rw()
: {
: // Connect to the database for read and write acess
: if (@mysql_connect("servername", "username", "password"))
: if (@mysql_select_db("dbname"))
: return TRUE;
: return FALSE;
: }
: 然後要求在其它頁中用這個function與資料庫連線
: 不能用原本的$link = mysql_connect...blahblahblah
: 試很久還是沒辦法試出來
: 它function的回傳值為boolean 我實在是不知道要怎麼用到其它頁中
: 書也查了 goo也goo了 但是做不出來
: 請板上的高手為小弟解疑
: 謝謝大家<(_ _)>
呼叫這個函式的時候會做連結 MySQL Server 的動作,跟選擇 database 的動作。
兩者都成功,傳回 true,否則傳回 false。
你的程式要開始資料庫操作前呼叫這個函式,如果傳回值 true 就可以繼續
資料庫的操作,反之,連結或選擇資料庫失敗,進行其它流程。
不知道你的問題是什麼?
如果你需要 $link 供其它程式碼用
(通常是不必,除非你同時要連兩個不同的 Server)
你可以讓 function 傳回參數。
function ...... (){
if($link = mysql_connect(.....)){
if( mysql_select_db(.......)){
return $link;
}
}
return false;
}
然後呼叫的時候給這個 function 一個接受的變數
$link = connectdb_rw();
一樣有 $link 用。
一般單一 Server 操作其實連接完之後 $link 都沒有再用到,有時連 $link 變數都
沒設。connect 跟 select_db 之後,就直接 mysql_query, mysql_fecty..... 了
如果要存取不同的資料庫,直接在 table 前加上資料庫名
SELECT * FROM database_name.table_name ......
只要權限是正確的。
如果你一直傳回 false,連接失敗,在 connectdb_rw 的 function 裡加上
or die(mysql_error()) 把錯誤訊息秀出來看看,
也許你的伺服器名稱、帳號、密碼或是權限有問題。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.81.203.98
推
04/27 13:54, , 1F
04/27 13:54, 1F
※ 編輯: starjou 來自: 219.81.203.98 (04/27 13:57)
推
04/27 15:33, , 2F
04/27 15:33, 2F
→
04/27 19:47, , 3F
04/27 19:47, 3F
推
04/28 15:49, , 4F
04/28 15:49, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
6
14