十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

PHP中的常用MYSQL函数

上一篇 / 下一篇  2011-07-01 13:16:49 / 个人分类:mysql

  1、mysql_connect()-建立数据库连接51Testing软件测试网gyp3x ^ms

  格式:

1n2Q[X}.yZ*O)@0

  resource mysql_connect([string hostname [:port] [:/path/to/socket] [, string username] [, string password]])

/}k&O?v A%W0Wl`0

  例:

+y"I'e4d^Y0

  $conn = @mysql_connect("localhost", "username", "password") or die("不能连接到Mysql Server");

e'L5k5dYi-A0

  说明:使用该连接必须显示的关闭连接51Testing软件测试网 _2gGV2W2Z9h rq

  2、mysql_pconnect()-建立数据库连接51Testing软件测试网7]4Y sW%O0N#Yl

  格式:51Testing软件测试网z/i,t&H8c'Y dr?

  resource mysql_pconnect([string hostname [:port] [:/path/to/socket] [, string username] [, string password]])

G4pj'Y1U9b$^]0

  例:

en$R7}G\0

  $conn = @mysql_pconnect("localhost", "username", "password") or dir("不能连接到Mysql Server");

}$Q1LjE8wly0

  说明:使用该连接函数不需要显示的关闭连接,它相当于使用了连接池

Owx2AJ6gK0

  3、mysql_close()-关闭数据库连接51Testing软件测试网qd q5s'JEZ:Mu

  例:51Testing软件测试网y6IFp9l9Lt

  $conn = @mysql_connect("localhost", "username", "password") or die("不能连接到Mysql Server");

d8O?*yp [0

  @mysql_select_db("MyDatabase") or die("不能选择这个数据库,或数据库不存在");51Testing软件测试网kH@O^Y

  echo "你已经连接到MyDatabase数据库";51Testing软件测试网_M}B\"rv

  mysql_close();51Testing软件测试网T E eQt I:c!a$os

  4、mysql_select_db()-选择数据库51Testing软件测试网Z;m Gl#J["t/r

  格式:

P?;yGCK&H8x[4z0

  boolean mysql_select_db(string db_name [, resource link_id])51Testing软件测试网NBd_ IB

  例:

r._)tx@,g0

  $conn = @mysql_connect("localhost", "username", "password") or die("不能连接到Mysql Server");

.c'RV.EfL iID0

  @mysql_select_db("MyDatabase") or die("不能选择这个数据库,或数据库不存在");

5f/i|/L*F}$u~:MR0

  5、mysql_query()-查询MySQL51Testing软件测试网3}8y8IW4e] } sHZH

  格式:51Testing软件测试网2@ z5wC/myY

  resource mysql_query (string query, [resource link_id])51Testing软件测试网&XMk;k*htE

  例:51Testing软件测试网H r#S&|)jp)\

  $linkId = @mysql_connect("localhost", "username", "password") or die("不能连接到Mysql Server");

fY5L6y8|X'G0

  @mysql_select_db("MyDatabase") or die("不能选择这个数据库,或者数据库不存在");51Testing软件测试网7OEa4S)_cQ

  $query = "select * from MyTable";

.k|tD9p0s-u0

  $result = mysql_query($query);

7B QdV]nZ0

  mysql_close();

C#{k/Z8Jo$t.fc0

  说明:若SQL查询执行成功,则返回资源标识符,失败时返回FALSE。若执行更新成功,则返回TRUE,否则返回FALSE

JZF%g ]0

  6、mysql_db_query()-查询MySQL

|#KeLe(}_0

  格式:

~0h~B?'s[0

  resource mysql_db_query(string database, string query [, resource link_id])

t#R2^l}1Bo;z0

  例:51Testing软件测试网:nXQ'O!d

  $linkId = @mysql_connect("localhost", "username", "password") or die("不能连接到MysqlServer");51Testing软件测试网Hr+LT8X:i5d9? S

  $query = "select * from MyTable";51Testing软件测试网+kN(Q%]6w'W.e

  $result = mysql_db_query("MyDatabase", $query);

oK8{8L t"f8\Y sl0

  mysql_close();

(s{Ez0H.A7r+p0

  说明:为了使代码清晰,不推荐使用这个函数调用51Testing软件测试网,}&| Y/Te CV`

  7、mysql_result()-获取和显示数据

&K8r2P9q [ _$n0

  格式:51Testing软件测试网 E8?-B+k*d*p\]P"W

  mixed mysql_result (resource result_set, int row [, mixed field])

Y,R8qL8\0

  例:

&dv2ZY b-y0

  $query = "select id, name from MyTable order by name";51Testing软件测试网4PU,t3~rY#ZJ O

  $result = mysql_query($query);

c6MNi N{8@ \0

  for($count=0;$count<=mysql_numrows($result);$count++)

#fxy.xQ0

  {51Testing软件测试网*M(d$P||.T1]'~"f;b

  $c_id = mysql_result($result, 0, "id");

!g/^cgd R&A0

  $c_name = mysql_result($result, 0, "name");

-l H]_F$|1D:H*y R0

  echo $c_id,$c_name;51Testing软件测试网bB ^f{'f _0Y

  }51Testing软件测试网\+\4rc4s$AOT4o:rqm

  说明:最简单、也是效率最低的数据获取函数

)LG/D:`r P0

  8、mysql_fetch_row()-获取和显示数据51Testing软件测试网.gU tQJ'q

  格式:51Testing软件测试网 ^Klga

  array mysql_fetch_row (resource result_set)

i8F qi| E"P g0

  例:51Testing软件测试网K"i)gB ZR

  $query = "select id, name from MyTable order by name";51Testing软件测试网/lf0fJ8u8lHb

  $result = mysql_query($query);

*oEO:B/HWrN0

  while (list($id, $name) = mysql_fetch_row($result)) {

"_ GRCFtZ }0

  echo("Name: $name ($id)51Testing软件测试网r*V.?Av~*z?1k
");

,z6d.iY4W"aD"n0

  }

+}"@P7W&^\9J0

  说明:函数从result_set中获取整个数据行,将值放在一个索引数组中。通常会结使list()函数使用

7D&]twd,s2E0

  9、mysql_fetch_array()-获取和显示数据51Testing软件测试网 f Z7Qq x'w5d

  格式:

%E8|0m7qqP6G,g7W0

  array mysql_fetch_array (resource result_set [, int result_type])

9OLqxYm&W&f0

  例:51Testing软件测试网.g}rhk1Mk

  $query = "select id, name from MyTable order by name";51Testing软件测试网c%Y0zW"Zq*e[h

  $result = mysql_query($query);51Testing软件测试网6Z)Uc]g\]

  while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {51Testing软件测试网 U:P k/Zhq{

  $id = $row["id"];

"{HVd3V!VR+z0

  $name = $row["name"];51Testing软件测试网 c)]V+S,kN.Y}i

  echo "Name: $name ($id)51Testing软件测试网B8x7so&cl3V
";51Testing软件测试网 U*a0p!O;y-Jv

  }

p^8o,p$J0

  又例:

G@%jfdi`q4CL0

  $query = "select id, name from MyTable order by name";

,I4H;I!}#cH(chc0

  $result = mysql_query($query);

JW [%yZ_:Z0

  while($row = mysql_fetch_array($result, MYSQL_NUM)) {51Testing软件测试网E*K-Q,x.mG2F2Jha'zT

  $id = $row[0];51Testing软件测试网1s{/?#C|9Yh l

  $name = $row[1];51Testing软件测试网i{pmd

  echo "Name: $name ($id)
Y4O2N%Kh0";51Testing软件测试网P E/fV Ql*Rc

  }

,RJKs&O#tva7j0

  说明:51Testing软件测试网5Ol'OcvYwr U

  result_type的值有:51Testing软件测试网C{@+M `;m(u-d

  MYSQL_ASSOC: 字段名表示键,字段内容为值

'lua4nuC;O&|'h4U0

  MYSQL_NUM: 数值索引数组,操作与mysql_fetch_ros()函数一样

bo bVo1l-n0

  MYSQL_BOTH: 即作为关联数组又作为数值索引数组返回。result_type的默认值。51Testing软件测试网Fm_:h$?

  10、mysql_fetch_assoc()-获取和显示数据

lh-A S)u6U\(R Hy`0

  格式:51Testing软件测试网0@IC'pk*K$~r

  array mysql_fetch_assoc (resource result_set)51Testing软件测试网Iy|w$bA

  相当于调用 mysql_fetch_array(resource, MYSQL_ASSOC);

;q,D#s4YO1Y|/l,`0\A0

  11、mysql_fetch_object()-获取和显示数据

O!NUf5cL0

  格式:51Testing软件测试网9V c7UTj0CnQ

  object mysql_fetch_object(resource result_set)

n_T;`@0

  例:51Testing软件测试网MTx?o

  $query = "select id, name from MyTable order by name";51Testing软件测试网U)ra&v;P q-I c4J'X/E

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

-\+@p"]1u6D9N7S,HGPhG0

  $id = $row->id;

,`s0K,s"Y(` R$r"[0

  $name = $row->name;

|6D.m*|,I;\+Z8O0

  echo "Name: $name ($id)
@$l_ LKKr5P0";

:~*T~(Qh?/D9t0

  }51Testing软件测试网YR{3K9k7H r)^

  说明:返回一个对象,在操作上与mysql_fetch_array()相同

I^L}'jM0

  12、mysql_num_rows()-所选择的记录的个数51Testing软件测试网_v#_)]%Gn _

  格式:51Testing软件测试网*dFfi q7~6j'z

  int mysql_num_rows(resource result_set)

\rr G}*{4g W0

  例:51Testing软件测试网~ [!Qg!~+H [rE~&|

  query = "select id, name from MyTable where id > 65";51Testing软件测试网@~H(ra ^

  $result = mysql_query($query);51Testing软件测试网[;h}K9I@B8zS@k

  echo "有".mysql_num_rows($result)."条记录的ID大于65";51Testing软件测试网:hJU WZl ?

  说明:只在确定select查询所获取的记录数时才有用。51Testing软件测试网;\+cyY)g6f

  13、mysql_affected_rows()-受Insert,update,delete影响的记录的个数

4H*NB!VEO%Bb0

  格式:51Testing软件测试网#y3Q:PO_9@!g)[

  int mysql_affected_rows([resource link_id])51Testing软件测试网 L2~ZjW7Ag@

  例:

)`H,x djs0

  $query = "update MyTable set name='CheneyFu' where id>=5";

Ub o xu YGL*I {0

  $result = mysql_query($query);51Testing软件测试网B+tcg:^}

  echo "ID大于等于5的名称被更新了的记录数:".mysql_affected_rows();

%up6u dC'?pJ0

  说明:该函数获取受INSERT,UPDATE或DELETE更新语句影响的行数

${bRl8R3^0

  14、mysql_list_dbs()-获取数据库列表信息51Testing软件测试网|f%di B/Th

  格式:51Testing软件测试网p"GsA7h ` p]

  resource mysql_list_dbs([resource link_id])

MJuH-}5I~0

  例:

Z f&Z gF$Z!P{5JN8x0

  mysql_connect("localhost", "username", "password");

%Np j(l9QpZ0

  $dbs = mysql_list_dbs();51Testing软件测试网'DT@$O ]M0T

  echo "Databases:
W4@v Bg2BXr;k0";

"k|vE Y G4fm0

  while (list($db) = mysql_fetch_rows($dbs)) {

Ny.i6@#p+EjNs0

  echo "$db
B5aU`X6aL"v4A*wJ0";

O2Z9W$TN^!h7y ]0

  }51Testing软件测试网6n$SF\} sgB

  说明:显示所有数据库名称

@k%f~o0

  15、mysql_db_name()-获取数据库名

+iQ9Bm9bK0

  格式:

n[!eO%x,M KO#N0

  string mysql_db_name(resource result_set, integer index)

+|1\m9Cj7m1o|*^]0

  说明:该函数获取在mysql_list_dbs()所返回result_set中位于指定index索引的数据库名

6R8S!rs,m _ x8vT!N0

  16、mysql_list_tables()-获取数据库表列表51Testing软件测试网(E2mt/au6u

  格式:

m%T M8eXNfY;JET0

  resource mysql_list_tables(string database [, resource link_id])51Testing软件测试网oJv9Jo `Ob n

  例:51Testing软件测试网"Z7A/tu~ N

  mysql_connect("localhost", "username", "password");51Testing软件测试网:e|H9z-h7Ag ?

  $tables = mysql_list_tables("MyDatabase");

H%[:o jo;MG:~-U0

  while (list($table) = mysql_fetch_row($tables)) {51Testing软件测试网+f{J7d~

  echo "$table
!{y9V"I W~k0";

M LxX"C7O4x0

  }51Testing软件测试网%S;^xq z+[

  说明:该函数获取database中所有表的表名

b(w nJu1QM0

  17、mysql_tablename()-获取某个数据库表名51Testing软件测试网Tq,_0UX]Ru:uM}V

  格式:

+f`/r,iNAi0

  string mysql_tablename(resource result_set, integer index)

-VzT HJ t H0

  例:51Testing软件测试网4@C#E-T r-DWo%H(q

  mysql_connect("localhost", "username", "password");

^(V?.xs7|6\0

  $tables = mysql_list_tables("MyDatabase");51Testing软件测试网k[4o8X0F;Z/XH

  $count = -1;51Testing软件测试网+HX%c-Z!A,Q

  while (++$count < mysql_numrows($tables)) {51Testing软件测试网 GGl0^:k;KKK

  echo mysql_tablename($tables, $count)."51Testing软件测试网4K.l1`&]?(h#aKt
";51Testing软件测试网3ODm-S P/s

  }

Wtd;LVy6f0

  说明:该函数获取mysql_list_tables()所返回result_set中位于指定index索引的表名

#_3J&n,d%fg-SWx s0

  18、mysql_fetch_field()-获取字段信息

[Z5O9o)lm6jN;Tb0

  格式:

OC*s,ZtO!^ a\0

  object mysql_fetch_field(resource result [, int field_offset])51Testing软件测试网 {IM!{*\

  例:

&GN _.}*Gi*Hq[;|0

  mysql_connect("localhost", "username", "password");

,l4H |I2o? N*`0

  mysql_select_db("MyDatabase");

d7r?"xe0

  $query = "select * from MyTable";

e'O2\J!M0

  $result = mysql_query($query);

{RT$M3e:y ^0

  $counts = mysql_num_fields($result);51Testing软件测试网cn:G9O6s eu7s&HB

  for($count = 0; $count < $counts; $count++) {

:Dw gpW+xN@n!g0

  $field = mysql_fetch_field($result, $count);

2R+fU0sk(~0

  echo "51Testing软件测试网$v3~H;_ o

$field->name $field->type ($field->max_length)

,hYB^7eQ*d0";

 

*KE{j~,oUwr1al0

  }

SH9sRs joQ0

  说明:

a0N ~{ l1f6Y/zG"H2K0

  返回的对象共有12个对象属性:51Testing软件测试网4@ ]'cEm(l/g&Y

  name: 字段名

+B W;YezkB0

  table: 字段所在的表51Testing软件测试网,b/kot.e$n

  max_length:字段的最大长度

N+m `_ x0

  not_null: 如果字段不能为null,则为1,否则0

6qo'H v3_+s3I(}jo}J0

  primary_key: 如果字段为主键,则为1,否则051Testing软件测试网jh%V'I Ne__c4U4w X{

  unique_key: 如果字段是唯一键,则为1, 否则051Testing软件测试网&L&qo*G9i#e/r{ye g

  multiple_key: 如果字段为非唯一,则为1,否则051Testing软件测试网K`wl8VZ%mN

  numeric: 如果字段为数值则为1,否则0

lq0Pz `A M!m0

  blob: 如果字段为BLOB则为1,否则为0

crz^$s{k BR NC0

  type: 字段的数据类型51Testing软件测试网V6q Q,K g)@4f.W-j,\

  unsigned: 如果字段为无符号数则为1,否则为0

j-kc9Ucr0

  zerofill: 如果字段为“零填充”则为1, 否则为051Testing软件测试网;]/S8P)Nn/oh

  19、mysql_num_fields()-获取查询的字段个数51Testing软件测试网*p5` EA7J uv

  格式:

h)H&u3h|G]0

  integer mysql_num_fields(resource result_set)51Testing软件测试网r(m{OO bx/e&A7W

  例:51Testing软件测试网1L"Z K\\-_5n%w

  $query = "select id,name from MyTable order by name";51Testing软件测试网/E3@ O@Yj/v

  $result = mysql_query($query);

}!f0JA2U%luLxK0

  echo "这个查询的字段数是:".mysql_num_fields($result)."
!s_d4x_`&G MY0";51Testing软件测试网2J'DW-[/a;Wy

  20、mysql_list_fields()-获取指定表的所有字段的字段名

'e!PTu$l*nk0

  格式:

E6E,aV*r5U,q [5K"@0

  resource mysql_list_fields (string database_name, string table_name [, resource link_id])

S1C7}S F A mhjK0

  例:51Testing软件测试网4u:eBUoE-@

  $fields =mysql_list_fields("MyDatabase", "MyTable");

1~r]0A4gc)\0

  echo "数据库MyDatabase中表MyTable的字段数: ".mysql_num_fields($fields)."51Testing软件测试网 A\1Cf#kg
";51Testing软件测试网@2I8EM.M(?0[H:i

  21、mysql_field_flags()-获取指定的字段选项

PZG@9n:UlC'd-P0

  格式:51Testing软件测试网V5} [^a:m&^6v

  string mysql_field_flags (resource result_set, integer field_offset)51Testing软件测试网YL0Gz!Xz

  例:51Testing软件测试网S hW#Bf

  $query = "select id, name from MyTable order by name";51Testing软件测试网G;wt|:Sty#`Orl

  $result = mysql_query($query);

#x{0@] i P:L0

  $row=mysql_fetch_wor($row);

&^zbo/T#q Y1p GNc0

  22、mysql_field_len()-获取指定的字段的最大长度51Testing软件测试网L/nkE ~\ bT?

  格式:

z^)d2Jz9A0

  integer mysql_field_len (resource result_set, integer field_offset)

!B _ ]sN~7\0

  例:51Testing软件测试网@ZN/vM F^

  $query = "select name from MyTable";51Testing软件测试网K;z%Rb*{e&VV\g

  $result = mysql_query($query);

1q s*@+hpc0

  $row = mysql_fetch_row($result);51Testing软件测试网&mX)eUj/UFP,z

  echo mysql_field_len($result, 0)."
(}0~f Vh*|F2v3g D0";51Testing软件测试网ng;zH9^;P r0g2{

  说明:51Testing软件测试网Qc4MvB.LG(?

  如果mysql_field_len($reseult, 0) = 1677721551Testing软件测试网"C^O,TFsc%l"A'M

  那么numer_format(mysql_field_len($result))等于16,777,21551Testing软件测试网G4c@y&HQ^

  23、mysql_field_name()-获取字段名

K$B,?/Uy)aO2cM5j0

  格式:51Testing软件测试网0[/| ~] F K W2Pn9?Z

  string mysql_field_name (resource result_set, int field_offset)

yG$z c(U0

  例:

J!f(`.V7C9rLmj(s+ZY0

  $query = "select id as PKID, name from MyTable order by name";

1K5pi*^'e:bL0

  $result = mysql_query($query);

(}#ma6KJO|N0

  $row = mysql_fetch_row($result);

p MQNa4n[0

  echo mysql_field_name($result, 0); // Result: PKID51Testing软件测试网-GF\&Eq6E]

  24、mysql_field_type()-获取字段类型

-r TsW-r } ^n0

  格式:51Testing软件测试网]|%`:a2Rsd

  string mysql_field_type (resource result_set, int field_offset)

G p#Z.K['L,~W0

  例:51Testing软件测试网*x5W u m/l

  $query = "select id, name from MyTable order by name";51Testing软件测试网"la&Bm$d-\

  $result = mysql_query($query);

s's(n-Y(h*cfi0

  $row = mysql_fetch_row($result);51Testing软件测试网4A3]d(SA X3k#w

  echo mysql_field_type($result, 0); // Result: int

;m"b5F:M Y,cUL B&|z0

  25、mysql_field_table()-获取字段所在表名

D,Y^#On3an0

  格式:

o%x7Hw&q`X/TR0

  string mysql_field_table (resource result_set, int field_offset)

6pw+[Hb*R%|2E0

  例:

hM'^!Zb#a0

  $query = "select id as PKID, name from MyTable order by name";

{!WQZE!X+s0

  $result = mysql_query($query);

Cv(LF cB9wL l0

  $row = mysql_fetch_row($result);

+p,|N(Q0P K'?0

  echo mysql_field_table($result, 0); // Result: MyTable

5yAW1|#r Pv(x%D0

TAG: MySQL PHP php MYSQL

 

评分:0

我来说两句

Open Toolbar