程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MySQL數據庫函數詳解(3)_MySQL教程

MySQL數據庫函數詳解(3)_MySQL教程

編輯:關於MYSQL數據庫

作者:隨想 OSO奧索 (9) string MySQL_error(int [link_id]);
對於給定的連接,返回含有最近返回狀態的與MySQL相關的函數的錯誤消息字符串。空值意味著未出現錯誤。

<?PHP
$link=MySQL_pconnect("localhost","sunsoft","suixiang") or dIE("Could not connect");
print("Connected successfully");
$query="SELECT * FROM president";
$result=mysql_query($query) or dIE("query failed,error message=".MySQL_error());
?>

(10)array MySQL_fetch_array(int result, int [result_typ]);
本函式用來將查詢結果 result 拆到陣列變數中。若 result 沒有資料,則傳回 false 值。而本函式可以說是 mysql_fetch_row() 的加強函式,除可以將傳回列及數字索引放入陣列之外,還可以將文字索引放入陣列中。若是好幾個傳回欄位都是相同的文字名稱,則最後一個置入的欄位有效,解決方法是使用數字索引或者為這些同名的欄位 (column) 取別名 (alias)。值得注意的是使用本函式的處理速度其實不會比mysql_fetch_row() 函式慢,要用哪個函式還是看使用的需求決定。參數 result_typ 是一個常數值,有以下幾種常數 MYSQL_ASSOC、MYSQL_NUM 與 MySQL_BOTH。
使用范例


<?PHP
$link=MySQL_pconnect("localhost","sunsoft","suixiang") or dIE("Could not connect");
MySQL_select_db("stamp_db") or dIE("Could not select database");
$query="SELECT last_name,first_name FROM president";
$result=MySQL_query($query) or dIE("Query failed");
while($row=MySQL_fetch_array($result))
{
printf("%s %s<BR>
",$row[0],$row[1]);
printf("%s %s<BR>
",$row["last_name"],$row["first_name"]);
}
MySQL_free_result($result);

?>


(11) object MySQL_fetch_fIEld(int result [,int col_num]);
返回結果集中給定列的相關元數據信息,如果沒有這樣的列,則返回假。如果省略col_num,則對mysql_fetch_field()的後繼調用返回結果集後續列的信息。如果不再有剩余的列。則返回值為假。如果指定了col_num,則其取值范圍為0到mysql_num_fIElds()-1。在此情況下,MySQL_num_fIElds()返回給定列的相關信息,如果col_num超出范圍,返回假。
<?PHP
$link=MySQL_pconnect("localhost","sunsoft","suixiang") or dIE("Could not connect");
MySQL_select_db("stamp_db") or dIE("Could not select database");
$query="SELECT * FROM president";
$result=MySQL_query($query) or dIE("Query failed");
for($i=0;$i<MySQL_num_fIElds($result);$i++)
{
printf("information for column %d:<BR>
",$i);
$meta=MySQL_fetch_fIEld($result);
if(!$meta)
{
print("No information available<BR>
");
continue;
}
print("<PRE>
");
printf("blob: %s
",$meta->blob);
printf("max_length: %s
",$meta->max_length);
printf("multiple_key: %s
",$meta->multiple_key);
printf("name: %s
",$meta->name);
printf("not_null: %s
",$meta->not_null);
printf("numeric: %s
",$meta->numeric);
printf("primary_key: %s
",$meta->primary_key);
printf("table: %s
",$meta->table);
printf("type: %s
",$meta->type);
printf("unique_key: %s
",$meta->unique_key);
printf("unsigned: %s
",$meta->unsigned);
printf("zerofill: %s
",$meta->zerofill);
print("</PRE>
");
}
?>

(12) array MySQL_fetch_lengths(int result);
本函式將 MySQL_fetch_row() 處理過的最後一列資料的各欄位資料最大長度放在陣列變數之中。若執行失敗則傳回 false 值。傳回陣列的第一筆資料索引值是 0。

<?PHP
$link=MySQL_pconnect("localhost","sunsoft","suixiang") or dIE("Could not connect");
MySQL_select_db("stamp_db") or dIE("Could not select database");
$query="SELECT * FROM president" or dIE("Query failed");
$row_num=0;
while(MySQL_fetch_row($result))
{
++$row_num;
printf("Lengths of values in row %d:<BR>
",$row_num);
$len=MySQL_fetch_lengths($result);
if(!$len)
{
print("No information available<BR>
");
break;
}
print("<PRE>
");
for($i=0;$i<MySQL_num_fIElds($result);$i++)
printf("Column %d: %s
",$i,$len[$i]);
print("</PRE>
");
}
?>

本篇文章來源於 52教程網 | http://www.520jcw.cn | 歡迎轉載 | 原文鏈接:http://www.520jcw.cn/html/database/MYSQL/200812/153955.html

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved