当前位置:数据库 > MySQL >>

MySQL数据库函数详解(3)

答案:作者:随想 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>

  ");

  }

  ?>

上一个:MySQL数据库函数详解(4)
下一个:有了MySQL,客户资源管理尽在掌握

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,