十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
把来自表单的数据插入数据库
创新互联是一家专业提供察哈尔右翼后企业网站建设,专注与网站设计、网站制作、H5网站设计、小程序制作等业务。10年已为察哈尔右翼后众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
现在,我们创建一个 HTML 表单,这个表单可把新记录插入 "Persons" 表。
这是这个 HTML 表单:
html
body
form action="insert.php" method="post"
Firstname: input type="text" name="firstname" /
Lastname: input type="text" name="lastname" /
Age: input type="text" name="age" /
input type="submit" /
/form
/body
/html
当用户点击上例中 HTML 表单中的提交按钮时,表单数据被发送到 "insert.php"。"insert.php" 文件连接数据库,并通过 $_POST 变量从表单取回值。然后,mysql_query() 函数执行 INSERT INTO 语句,一条新的记录会添加到数据库表中。
下面是 "insert.php" 页面的代码:
?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
$sql="INSERT INTO Persons (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?
一、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
服务器信息
那只能先执行insert插入,执行插入后系统会返回一个产生的自递增id值,对这个值md5加密后,再update
不可能在插入前得到这个id值的(先select最大id在低并发的情况下也行,高并发的话终究不够严谨)
知友,第二张表代码这样改下:
?php
$dbname="wahaha";
$conn=mysql_connect("localhost","root","root") or die("连接MySQL服务器失败。".mysql_error());
mysql_select_db($dbname) or die("选择数据库失败! ".mysql_error());
$sql="insert into xinxi(xs_id,name,pwd,sex,class,xingqu,lianxi) values ('15','张三','mima','男','软件1班','打球','1234567')";
$rs=mysql_query($sql,$conn);
//以下可以省略
if($rs==1){
echo '数据插入成功!影响行数ID:'.mysql_insert_id();
mysql_close($conn);
}
echo' 插入失败';
mysql_close($conn);
?
你原来的操作失败的原因是:你前面都对的,后面没有执行插入那个驱动命令,即少了个mysql_query()。
【打字不容易,记得给分!】