两种方法,如果只用PHP,那你就点击那个链接,附带着把你需要的参数传递过去,然后你接受的脚本获取参数,查询数据库,然后把东西仍到一个页面上就可以了。
创新互联公司专注于成都做网站、成都网站制作、网页设计、网站制作、网站开发。公司秉持“客户至上,用心服务”的宗旨,从客户的利益和观点出发,让客户在网络营销中找到自己的驻足之地。尊重和关怀每一位客户,用严谨的态度对待客户,用专业的服务创造价值,成为客户值得信赖的朋友,为客户解除后顾之忧。
举例如下:
创建userinfo_update.php页面用于查询用户信息,先显示信息,在修改:
先通过GET获取用户编号查询用户信息:
$sql = "select * from user_info where user_id='".$_GET['userId']."'";
$result = mysql_query($sql,$con);
if($row = mysql_fetch_array($result)){
}
页面效果:
创建update.php文件,用于修改用户信息:
使用到了mysql_affected_rows() 函数返回前一次 MySQL 操作所影响的记录行数。
//通过post获取页面提交数据信息
$userId = $_POST[userId];
$userName = $_POST[userName];
$userAge = $_POST[userAge];
$sql = "update user_info set user_name='".$userName."',user_age=".$userAge." where user_id='".$userId."'";
mysql_query($sql,$conn);//执行SQL
$mark = mysql_affected_rows();//返回影响行数
$url = "userinf_select.php";
运行结果
创建delete.php文件,完成删除用户信息功能:
$userId = $_GET['userId'];
include 'connection.php';
$sql = "delete from user_info where user_id='".$userId."'";
mysql_query($sql,$con);
$mark = mysql_affected_rows();//返回影响行数
if($mark0){
echo "删除成功";
}else{
echo "删除失败";
}
mysql_close($con);
运行结果:
字段说明:
用户的id 假设是 uid
要修改的内容是 content
sql语句:
update 表名 set content='修改后的内容' where uid='你传过来的用户id';
但这样的话,表的设计肯定是有问题的。
一般一个用户可以对应多个内容,所以这样的话就会修改该用户的多个内容,应该还需要一个内容的唯一 id,一般会有一个 id 字段,主键自增。
这样修改的时候的 where 条件应该至少有两个:id 和 uid
id 是为了保证只修改到一条内容,且是指定的内容;
uid 是为了保证该内容是同一个创作的(当然前端直接传 uid 是不安全的,应该通过 session 和 token 后端再转成用户的 uid)
一、PHP操作MySql数据库
新增数据
?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
服务器信息
1、操作数据库前现在后台 扩展-》数据库工具 进行备份数据,养成好习惯
2、后台没有直接去操作数据库的选项,只有增删改具体的内容
3、需要操作数据库可以下载一个phpmyadmin操作或者下载一个navicat链接到数据库远程操作
这个说起来长篇,你所问的$updateSQL = $db-GetUpdateSQL其实并不是属于php自己的东西,而是用户自定义的类,至于类是什么去看看基础的php语言基础.
所以你要知道GetUpdateSQL返回的究竟是什么东西,他是怎么工作的,就要找到类的本身代码所在文件,去看看他里面究竟是什么东西.
而php修改数据库里的东西其实是没有专用语句的.如果硬要问怎么实现的话,就是那个$db-Execute($updateSQL);
所以建议你把$updateSQL print(或echo)出屏幕看看里面是什么就明白了.
其实是个SQL的操作语句,指示SQL如何存储数据,而$db-Execute只让php把这个命令传给SQL