最新IBM水货笔记本价格,详细点击进入

查看完整版本: MySQL数据库函数详解(3)

风舞残阳 2008-4-2 17:54

MySQL数据库函数详解(3)

(9)stringmysql_error(int[link_id]);
对于给定的连接,返回含有最近返回状态的与MySQL相关的函数的错误消息字符串。空值意味着未出现错误。

%26lt;?php
$link=mysql_pconnect("localhost","sunsoft","suixiang")ordie("Couldnotconnect");
print("Connectedsuccessfully");
$query="SELECT*FROMpresident";
$result=mysql_query($query)ordie("queryfailed,errormessage=".mysql_error());
?%26gt;

(10)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。
使用范例


%26lt;?php
$link=mysql_pconnect("localhost","sunsoft","suixiang")ordie("Couldnotconnect");
mysql_select_db("stamp_db")ordie("Couldnotselectdatabase");
$query="SELECTlast_name,first_nameFROMpresident";
$result=mysql_query($query)ordie("Queryfailed");
while($row=mysql_fetch_array($result))
{
printf("%s%s%26lt;BR%26gt;
",$row[0],$row[1]);
printf("%s%s%26lt;BR%26gt;
",$row["last_name"],$row["first_name"]);
}
mysql_free_result($result);

?%26gt;


(11)objectmysql_fetch_field(intresult[,intcol_num]);
返回结果集中给定列的相关元数据信息,如果没有这样的列,则返回假。如果省略col_num,则对mysql_fetch_field()的后继调用返回结果集后续列的信息。如果不再有剩余的列。则返回值为假。如果指定了col_num,则其取值范围为0到mysql_num_fields()-1。在此情况下,mysql_num_fields()返回给定列的相关信息,如果col_num超出范围,返回假。
%26lt;?php
$link=mysql_pconnect("localhost","sunsoft","suixiang")ordie("Couldnotconnect");
mysql_select_db("stamp_db")ordie("Couldnotselectdatabase");
$query="SELECT*FROMpresident";
$result=mysql_query($query)ordie("Queryfailed");
for($i=0;$i%26lt;mysql_num_fields($result);$i++)
{
printf("informationforcolumn%d:%26lt;BR%26gt;
",$i);
$meta=mysql_fetch_field($result);
if(!$meta)
{
print("Noinformationavailable%26lt;BR%26gt;
");
continue;
}
print("%26lt;PRE%26gt;
");
printf("blob:%s
",$meta-%26gt;blob);
printf("max_length:%s
",$meta-%26gt;max_length);
printf("multiple_key:%s
",$meta-%26gt;multiple_key);
printf("name:%s
",$meta-%26gt;name);
printf("not_null:%s
",$meta-%26gt;not_null);
printf("numeric:%s
",$meta-%26gt;numeric);
printf("primary_key:%s
",$meta-%26gt;primary_key);
printf("table:%s
",$meta-%26gt;table);
printf("type:%s
",$meta-%26gt;type);
printf("unique_key:%s
",$meta-%26gt;unique_key);
printf("unsigned:%s
",$meta-%26gt;unsigned);
printf("zerofill:%s
",$meta-%26gt;zerofill);
print("%26lt;/PRE%26gt;
");
}
?%26gt;

(12)arraymysql_fetch_lengths(intresult);
本函式将mysql_fetch_row()处理过的最后一列资料的各栏位资料最大长度放在阵列变数之中。若执行失败则传回false值。传回阵列的第一笔资料索引值是0。

%26lt;?php
$link=mysql_pconnect("localhost","sunsoft","suixiang")ordie("Couldnotconnect");
mysql_select_db("stamp_db")ordie("Couldnotselectdatabase");
$query="SELECT*FROMpresident"ordie("Queryfailed");
$row_num=0;
while(mysql_fetch_row($result))
{
++$row_num;
printf("Lengthsofvaluesinrow%d:%26lt;BR%26gt;
",$row_num);
$len=mysql_fetch_lengths($result);
if(!$len)
{
print("Noinformationavailable%26lt;BR%26gt;
");
break;
}
print("%26lt;PRE%26gt;
");
for($i=0;$i%26lt;mysql_num_fields($result);$i++)
printf("Column%d:%s
",$i,$len[$i]);
print("%26lt;/PRE%26gt;
");
}
?%26gt;
页: [1]
查看完整版本: MySQL数据库函数详解(3)