php数据库枚举字段 数据库枚举存数字还是字符串

php数据库添加、删除、修改数据(mysql)

一、PHP操作MySql数据库

创新互联公司2013年成立,是专业互联网技术服务公司,拥有项目成都做网站、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元福清做网站,已为上家服务,为福清各地企业和个人服务,联系电话:18980820575

新增数据

?php

$query

=

"INSERT

INTO

grade

(name,email,point,regdate)

VALUE

('

李三','yc60.com@gmail.com',,NOW())"

;

@mysql_query($query)

or

die(

'添加数据出错:'

.mysql_error());

?

修改数据

?php

$query

=

"UPDATE

grade

SET

name='小可爱'

WHERE

id=6"

;

@mysql_query($query)

or

die(

'修改出错:'

.mysql_error());

?

删除数据

?php

$query

=

"DELETE

FROM

grade

WHERE

id=6";

@mysql_query($query)

or

die(

'删除错误:'

.mysql_error());

?

显示数据

?php

$query

=

"SELECT

id,name,email,point

FROM

grade";

$result

=

@mysql_query($query)

or

die(

'查询语句出错:'

.mysql_error());

while

(!!

$row

=

mysql_fetch_array($result))

{

echo

$row[

'id'

].

'----'

.$row['name'

].'----'

.$row

['email'

].

'----'

.$row['point'

];

echo

'br

/

';

}

?

二、其他常用函数

mysql_f

etch_row()

:从结果集中取得一行作为枚举数组

mysql_f

etch_assoc()

从结果集中取得一行作为关联数组

mysql_f

etch_array()

从结果集中取得一行作为关联数组,或数字数组,或二者兼有

mysql_f

etch_lengths

()

取得结果集中每个输出的长度

mysql_f

ield_name():

取得结果中指定字段的字段名

mysql_num_rows():

取得结果集中行的数目

mysql_num_f

ields():取得结果集中字段的数目

mysql_get_client_inf

o()

取得

MySQL

客户端信息

mysql_get_host_info():

取得

MySQL

主机信息

mysql_get_proto_info():

取得

MySQL

协议信息

mysql_get_server_inf

o()

取得

MySQL

服务器信息

数据库字段,枚举

这个要放点代码。但是这种方式没有必要,其次就放50分,实在少点,回头你看我的回复

是否值50分?

----------------------

第一:如果代码类似如下

columns[int(TC_User.id)]

columns[int(TC_User.Name)]

columns[int(TC_User.Sex)]

columns[int(TC_User.Address)]

如果从持久实体直接获取,虽然有点效率,但是你可以试验一下如下查询:

SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='T_CRD'

以上T_CRD 是表名,你看到有一列是ORDINAL_POSITION:

这个是按照数据库设计表的自然序排列,之后你就看到,只要在设计视图中换换位置就改变了这个值。

本身在DBA优化里有一项就是数据类型同项归类提速,结果代码过于拘泥,让DBA根本不能实施这项工作。这是一方面:

--------------------------------------------------

第二:其次就是使用反射来获悉枚举列名。你可以自己试验一下:还不如最原始的if else快,性能差个几百倍。

--------------------------------------------------

第三:即使元数据析构table,也是类似如下方式,如下是linq上下文生成列的方式,使用的是特性描述,别看原始,这确是大智慧。

[Column(Storage="_RpNo", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]

public string RpNo

{

get

{

return this._RpNo;

}

set

{

if ((this._RpNo != value))

{

this.OnRpNoChanging(value);

this.SendPropertyChanging();

this._RpNo = value;

this.SendPropertyChanged("RpNo");

this.OnRpNoChanged();

}

}

}

---------------------

第四:如果你们领导都同意用枚举来映射表,你也没必要修改,顺水推舟吧!

出错你在摆平,也让你出名一把!你自己先提前想好方案!

PHP字符串枚举

代码示例如下图供参考:

?php

$str = 'abcde';

$a =str_split($str);

perm($a, 0, count($a)-1);

function perm($ar, $k, $m) {

if($k == $m){

echo join('',$ar) .'br /';

}else {

for($i=$k; $i=$m; $i++) {

swap($ar[$k], $ar[$i]);

perm($ar, $k+1, $m);

swap($ar[$k], $ar[$i]);

}

}

}

function swap($a, $b) {

$c = $a;

$a = $b;

$b = $c;

}

?

运行截图:

php 怎么获得mysql数据库字段枚举

Array ( [0] = 1 [1] = storylok [2] = lele1989 [3] = ? )

为什么获取到的这个枚举类型是问号呢? 我在mysql控制台看的确是中文字呢。 字符集PHP和mysql都是utf8,怎么获取到这个枚举类型的值。

?php

header ( "Content-Type:text/html; charset=utf-8" );

$host = "localhost";

$user = "root";

$password = "";

@$conn = mysql_connect($host,$user,$password) or die("数据库连接失败,请检查数据库配置!" . mysql_error());

$tableName = "viuoo";

mysql_select_db($tableName,$conn) or die('数据库表选择出错,请检查数据库表名是否正确!');

mysql_query("SET NAMES 'utf-8'");

$dm = "SELECT * FROM user";

$result = mysql_query($dm,$conn);

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

print_r($res);

}

?

mysql php utf8 数据库

------解决方案--------------------

mysql_query("SET NAMES 'utf-8'");

改成

mysql_query("SET NAMES 'UTF8'");


分享标题:php数据库枚举字段 数据库枚举存数字还是字符串
转载来源:http://scyanting.com/article/dosgogd.html