一、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
$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;
}
?
运行截图:
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'");