把来自表单的数据插入数据库
成都创新互联是一家集网站建设,鄄城企业网站建设,鄄城品牌网站建设,网站定制,鄄城网站建设报价,网络营销,网络优化,鄄城网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
现在,我们创建一个 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)
?
1:首先要使用PHP的超全局变量 $_GET 和 $_POST 用于收集表单数据(form-data)
2:然后使用INSERT INTO 语句用于向数据库表中插入新记录。
具体示例:
(1)首先创建了一个名为 "Persons" 的表,有三个列:"Firstname", "Lastname" 以及 "Age"。
?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('Peter', 'Griffin', '35')");
mysql_query("INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('Glenn', 'Quagmire', '33')");
mysql_close($con);
?
(2)其次创建一个 HTML 表单,这个表单可把新记录插入 "Persons" 表。
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
(3)接着当用户点击上例中 HTML 表单中的提交按钮时,表单数据被发送到 "insert.php"。"insert.php" 文件连接数据库,并通过
$_POST 变量从表单取回值。然后,mysql_query() 函数执行 INSERT INTO 语句,一条新的记录会添加到数据库表中。
?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)
?
表单应该使用名字,例如:
form action=xxx.php method=post
select name="select1"
option value="1" selected="selected"男/option
option value="0"女/option
/select
/form
这样,在xxx.php里面使用$_POST['select1']获取结果。
先确定你的是php文件 然后:
trtd姓名:/tdtd colspan="2"input name="name" type="text" id="name" value="?php echo $data[1];?"/td/tr
$name = "王二";
$age = 23;
$conn = new mysqli("localhost", "root", "root","user");
$sql = "INSERT INTO student VALUES (null,'".$name."',".$age.")";
print_r($conn-query($sql));
//输出结果:1
用mysqli或者PDO连接数据库,不要使用mysql,mysql已经被淘汰了
input的name用数组,比如:
tr
tdinput type="text" name="name1[]"/td
tdinput type="text" name="name2[]"/td
/tr
tr
tdinput type="text" name="name1[]"/td
tdinput type="text" name="name2[]"/td
/tr
tr
tdinput type="text" name="name1[]"/td
tdinput type="text" name="name2[]"/td
/tr
提交后$_POST['name1']、$_POST['name2']都会以数组的方式储存着3行tr的每个值,通过foreach可以把它们逐行添加进数据表