mysql.docx

上传人:b****6 文档编号:6997930 上传时间:2023-01-15 格式:DOCX 页数:13 大小:20.74KB
下载 相关 举报
mysql.docx_第1页
第1页 / 共13页
mysql.docx_第2页
第2页 / 共13页
mysql.docx_第3页
第3页 / 共13页
mysql.docx_第4页
第4页 / 共13页
mysql.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

mysql.docx

《mysql.docx》由会员分享,可在线阅读,更多相关《mysql.docx(13页珍藏版)》请在冰豆网上搜索。

mysql.docx

mysql

MySQL的基本工作步驟

步驟一:

使用mysql_connect()函數,建立和MySQL伺服器的通道(可能同一部電腦),該通道以連結識別(linkidentifier)稱之。

$link=mysql_connect("localhost","mysql_user","mysql_password");

此處的$link變數在mysql的函數語法格式以【resourcelink_identifier】此resource表變數的型式。

步驟二:

使用mysql_select-db()函數,選擇步驟一指定伺服器中的資料庫(因可能有多個資料)。

$link=mysql_connect("localhost","mysql_user","mysql_password");

mysql_select_db(“myDataBase”,$link);//$link可省略

mysql_select_db(“myDataBase”);

$myDB=“myDataBase”;

mysql_select_db($myDB);

 

步驟三:

使用mysql_query()函數,來執行各種資料庫的操作。

操作的內容以SQL語言表之。

如顯示步驟中指定的資料庫中的某一表格(myTable)中所有的內容。

$result=mysql_query(“SELECT*frommyTable”);

$result為一指標指向工作結果區(工作表格),在mysql的函數語法格式以【resourceresult】此resource表變數的型式。

步驟四:

使用mysql_free_result函數,從步驟三的工作結果區中,逐列取出資料

$result=mysql_query("SELECT*FROMtable1",$link);

$rows=mysql_fetch_array($result);

echo"$rows[“name”],$rows[“sex”]\n";

步驟五:

使用mysql_free_result函數,釋放工作結果區的記憶體空間。

php

$result=mysql_query(“SELECT*frommyTable”);

mysql_free_result($result);

?

>

步驟六:

使用mysql_close函數,關閉和伺服機連結。

php

$link=mysql_connect("localhost","mysql_user","mysql_password")

orexit("Couldnotconnect");

print("Connectedsuccessfully");

mysql_close($link);

?

>

mysql_close

關閉MySQL伺服器連線。

語法:

boolmysql_close([resourcelink_identifier])

傳回值:

布耳變數值(Boolean)

成功回傳TRUE

失敗回傳FALSE

內容說明

本函式關閉與MySQL資料庫伺服器的連線。

若無指定參數link_identifier則會關閉最後的一筆連線。

用mysql_pconnect()連線則無法使用本函式關閉。

實際上本函式不是一定需要的,當PHP整頁程式結束後,將會自動關閉與資料庫的非永久性(non-persistent)連線。

成功傳回true、失敗傳回false值。

使用範例

php

$link=mysql_connect("localhost","mysql_user","mysql_password")

orexit("Couldnotconnect");

print("Connectedsuccessfully");

mysql_close($link);

?

>

參考

mysql_connect()

mysql_connect

建立和MySQL伺服器間的連線。

語法:

resourcemysql_connect(string[hostname][:

port],string[username],

string[password]);

傳回值:

伺服器的通道指標,語法以「resourcelink_identifier」表示之。

內容說明

本函式建立與MySQL伺服器的連線。

其中所有的參數都可省略。

當使用本函式卻不加任何參數時,參數hostname的內定值為localhost、參數username的內定值為PHP執行行程的擁有者、參數password則為空字串(即沒有密碼)。

而參數hostname後面可以加冒號與埠號,代表使用那個埠與MySQL連接。

當然在使用資料庫時,早點使用mysql_close()將連線關掉可以節省資源。

使用範例

php

$link=mysql_connect("localhost","mysql_user","mysql_password")

ordie("Couldnotconnect");

print("Connectedsuccessfully");

mysql_close($link);

?

>

 

$Database=“myDatadase”;

mysql_connect("localhost","kh","75kh07");

$db=mysql_select_db($Database);

if(!

$db){

echo"無法開啟資料庫!

";

exit;

}

這是一位未具名網友提供的範例(18-Feb-1999)

php

$dbh=mysql_connect('localhost:

3306','mcclain','standard');

mysql_select_db('admreqs');

$query="insertintorequests(date,request,email,priority,status)values(NOW(),'$description','$email','$priority','NEW')";

$res=mysql_query($query,$dbh);

$query="selectmax(id)fromrequests";

$res=mysql_query($query,$dbh);

$err=mysql_error();

if($err){

echo"發生錯誤,請通知

webmaster@my.site>站長";

}

$row=mysql_fetch_row($res);

echo"未來您使用的號碼為:

".$row[0];

?

>

參考

mysql_close()

mysql_errno

傳回前一MySQL操作的錯誤訊息的代碼。

前一MySQL操作不含mysql_error()andmysql_errno()二函數。

語法:

intmysql_errno([resourcelink_identifier])

傳回值:

前一MySQL函數作業錯誤時,傳回錯誤訊息的代碼。

前一MySQL函數作業正常時,傳回0。

使用範例

php

mysql_connect("localhost","mysql_user","mysql_password");

mysql_select_db("nonexistentdb");

echomysql_errno().":

".mysql_error()."\n";

mysql_select_db("kossu");

mysql_query("SELECT*FROMnonexistenttable");

echomysql_errno().":

".mysql_error()."\n";

?

>

上述案例的輸出為:

1049:

Unknowndatabase'nonexistentdb'

1146:

Table'kossu.nonexistenttable'doesn'texist

mysql_error

傳回前MySQL工作的錯誤訊息內容。

前一MySQL操作不含mysql_error()andmysql_errno()二函數。

語法:

stringmysql_error([resourcelink_identifier])

傳回值:

前一MySQL函數作業錯誤時,傳回錯誤訊息的內容。

前一MySQL函數作業正常時,傳回空字串。

使用範例

php

mysql_connect("localhost","mysql_user","mysql_password");

mysql_select_db("nonexistentdb");

echomysql_errno().":

".mysql_error()."\n";

mysql_select_db("kossu");

mysql_query("SELECT*FROMnonexistenttable");

echomysql_errno().":

".mysql_error()."\n";

?

>

上述案例的輸出為:

1049:

Unknowndatabase'nonexistentdb'

1146:

Table'kossu.nonexistenttable'doesn'texist

mysql_fetch_array

傳回陣列資料。

以資料庫的欄位名稱為索引值。

語法:

arraymysql_fetch_array(intresult,int[result_typ]);

傳回值:

陣列

內容說明

本函式用來將查詢結果result拆到陣列變數中。

若result沒有資料,則傳回false值。

而本函式可以說是mysql_fetch_row()的加強函式,除可以將傳回列及數字索引放入陣列之外,還可以將文字索引放入陣列中。

若是好幾個傳回欄位都是相同的文字名稱,則最後一個置入的欄位有效,解決方法是使用數字索引或者為這些同名的欄位(column)取別名(alias)。

值得注意的是使用本函式的處理速度其實不會比mysql_fetch_row()函式慢,要用哪個函式還是看使用的需求決定。

參數result_typ是一個常數值,有以下幾種常數MYSQL_ASSOC、MYSQL_NUM與MYSQL_BOTH。

使用範例

php

mysql_connect($host,$user,$password);

$result=mysql_db_query("database","select*fromtable");

while($row=mysql_fetch_array($result)){

echo$row["user_id"];

echo$row["fullname"];

}

mysql_free_result($result);

?

>

php

$link=mysql_connect("localhost","mysql_user","mysql_password");

mysql_select_db("database",$link);

$result=mysql_query("SELECT*FROMtable1",$link);

$rows=mysql_fetch_array($result);

echo"$rows[“name”],$rows[“sex”]\n";

?

>

mysql_fetch_row

傳回單列的各欄位。

以數字為索引值並由0開始起。

語法:

arraymysql_fetch_row(intresult);

傳回值:

陣列(array)

內容說明

本函式用來將查詢結果result之單列拆到陣列變數中。

陣列的索引是數字索引,第一個的索引值是0。

若result沒有資料,則傳回false值。

使用範例

php

mysql_connect($host,$user,$password);

$result=mysql_db_query("database","select*fromtable");

while($row=mysql_fetch_row($result)){

echo$row[0];

echo$row[1];

}

mysql_free_result($result);

?

>

 

php

$link=mysql_connect("localhost","mysql_user","mysql_password");

mysql_select_db("database",$link);

$result=mysql_query("SELECT*FROMtable1",$link);

$num_rows=mysql_fetch_rows($result);

echo"$rows[0],$rows[1]\n";

?

>

參考

mysql_fetch_array()mysql_fetch_object()mysql_data_seek()mysql_fetch_lengths()mysql_result()

mysql_free_result

釋放工作結果區的記憶體空間。

語法:

boolmysql_free_result(resourceresult)

釋放和result識別相關的記憶體空間。

傳回值:

布耳變數值(Boolean)

成功回傳TRUE

失敗回傳FALSE

內容說明

當該程式(script)執行完畢,這些空間會自動的解除。

除非使用大量的記憶,否則不需執行本mysql_free_result()函數。

mysql_insert_id

傳回最後一次使用INSERT指令的ID。

語法:

intmysql_insert_id(int[link_identifier]);

傳回值:

1.0:

若前一SQL查詢未產生AUTO_INCREMENT值時,故必須碓定使用本mysql_insert_id()函數,緊接著產生AUTO_INCREMENT值函數之後。

2.上筆的插入記錄的索引值:

為前一INSERT查詢,對定義為AUTO_INCREMENT欄位所產生的值。

內容說明

本函式可以得到最後一次使用INSERT到MySQL資料庫的執行ID。

sleibowitz@btcwcu.org(13-May-1999)指出在PHP3.0.7版用REPLACE也和使用INSERT一樣,可以使用本函式獲得ID。

若未指定通路識別(link_identifier)時,假設為最後建立的通道。

使用範例

php

mysql_connect("localhost","mysql_user","mysql_password")or

die("couldnotconnect");

mysql_select_db("mydb");

mysql_query("INSERTINTOmytable(product)values('kossu')");

printf("Lastinsertedrecordhasid%d\n",mysql_insert_id());

?

>

 

mysql_list_fields

列出指定資料表的欄位(field)。

語法:

intmysql_list_fields(stringdatabase_name,stringtable_name,int[link_identifier]);

傳回值:

整數

內容說明

本函式可以得到指定的資料表的所有欄位。

傳回的欄位資訊可以供mysql_field_flags()、mysql_field_len()、mysql_field_name()及mysql_field_type()等函式使用。

若有錯誤則傳回-1。

使用範例

mysql_num_rows

取得傳回列的數目。

語法:

intmysql_num_rows(intresult);

傳回值:

整數

內容說明

本函式可以得到傳回列的數目。

常用以動態的產生,資料表的內容數。

使用範例

查詢在table1內的資料筆數。

php

$link=mysql_connect("localhost","mysql_user","mysql_password");

mysql_select_db("database",$link);

$result=mysql_query("SELECT*FROMtable1",$link);

$num_rows=mysql_num_rows($result);

echo"$num_rowsRows\n";

?

>

mysql_query

送出一個query字串,給MySQL對現用的資料庫執行作業。

語法:

resourcemysql_query(stringquery[,resourcelink_identifier[,intresult_mode]])

傳回值:

1.當query指令是UPDATE、INSERT及DELETE時,則傳回的值可能是true或者false;

2.當query指令是SELECT,SHOW,EXPLAINorDESCRIBE等陳述時,則傳回一個指標用以指向工作的結果區(為一二維表格)。

指標在mysql的函數語法格式以【resourceresult】此resource表變數的型式。

3.joey@(09-Feb-1999)指出,當傳回false時,並不是執行成功但無傳回值,而是查詢的字串有錯誤。

4.傳回非false的值,僅代表該查詢的語法是合乎文法,但不保證語意是正確的。

內容說明

本函式送出query字串供MySQL做相關的處理或者執行。

若未指定通路識別(link_identifier)時,則程式會自動假設為最後建立的通道。

參數result_mode為一選項參數,其值有:

1.MYSQL_USE_RESULT

2.MYSQL_STORE_RESULT

預設值為:

MYSQL_STORE_RESULT,即結果(result)是暫存在緩衝區(buffered)內中。

.

參見mysql_unbuffered_query()的另一種相反的作法。

注意:

SQL查詢字串不可以分號(;)結束。

使用範例

查詢字串的語法錯誤,傳回FALSE。

$result=mysql_query("SELECT*WHERE1=1")

ordie("Invalidquery");

?

>

例二:

若欄位(my_col)不為資料表(my_tbl)的欄位,則回傳FALSE。

php

$result=mysql_query("SELECTmy_colFROMmy_tbl")

ordie("Invalidquery");

?

>

參考

mysql_select_db()mysql_connect()

mysql_select_db

從MySQL伺服站中,選擇一個資料庫。

語法:

boolmysql_select_db(stringdatabase_name[,resourcelink_identifier])

傳回值:

布耳變數值(Boolean)

成功回傳TRUE

失敗回傳FALSE

內容說明

本函式mysql_select_db()設定在連結識別(linkidentifier)指定的伺服器上的現用的資料庫,以供之後的資料查詢作業(query)處理。

成功傳回true,失敗則傳回false。

如果沒有指定連結識別(linkidentifier),則假設為最後打開的連結【mysql_connect()】。

使用範例

參考

mysql_connect()mysql_pconnect()mysql_query()

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1