怎么用php把html表单内容写入数据库

怎么用php把html表单内容写入数据库,第1张

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)

?>

连接到一个 url 地址为localhost 、 端口为 3306 的mysql服务器上。mysql服务器的帐号是"root",密码是"9999"。mysql 服务器上有一个数据库 ok , 数据库里有一个表 abc。表 abc 一共为两列,列名分别是 "id" 和 "name" ,将 abc 里的所有数据读出来。

<? 

$dbh = @mysql_connect("localhost:3306","root","9999") 

/* 定义变量dbh , mysql_connect()函数的意思是连接mysql数据库, "@"的意思是屏蔽报错 */ 

if(!$dbh){die("error")} 

/* die()函数的意思是将括号里的字串送到浏览器并中断PHP程式 (Script)。括号里的参数为欲送出的字串。 */ 

@mysql_select_db("ok", $dbh) 

/* 选择mysql服务器里的一个数据库,这里选的数据库名为 ok */ 

$q = "SELECT * FROM abc" 

/* 定义变量q, "SELECT * FROM abc"是一个SQL语句,意思是读取表abc中的数据 */ 

?> 

<br /> 

<!--========= 方法一 =========--> 

<br /> 

<? 

$rs = mysql_query($q, $dbh) 

/* 定义变量 rs ,函数mysql_query()的意思是:送出 query 字串供 MySQL 做相关的处理或者执行.由于php是从右往左执行的,所以,rs的值是服务器运行mysql_query()函数后返回的值 */ 

if(!$rs){die("Valid result!")} 

echo "<table>" 

echo "<tr><td>ID</td><td>Name</td></tr>" 

while($row = mysql_fetch_row($rs)) echo "<tr><td>$row[0]</td><td>$row[1]</td></tr>" 

/* 定义量变(数组)row,并利用while循环,把数据一一写出来.  

函数mysql_fetch_row()的意思是:将查询结果$rs单列拆到阵列变数中.  

$row[0] 和 $row[1] 的位置可以换*/ 

echo "</table>" 

?> 

<br /> 

<!--========= 方法二 =========--> 

<br /> 

<? 

$rs = mysql_query($q, $dbh) 

while($row = mysql_fetch_object($rs)) echo "$row->id $row->name <br />" 

/* id和name可以换位置 */ 

?> 

<br /> 

<!--========= 方法三 =========--> 

<br /> 

<? 

$rs = mysql_query($q, $dbh) 

while($row = mysql_fetch_array($rs)) echo "$row[id] $row[name] <br />" 

/* id和name可以换位置 */ 

?> 

<!--========= 方法三最快 =========--> 

<? 

@mysql_close($dbh) 

/* 关闭到mysql数据库的连接 */ 

?>

PHP向MySQL数据库中写入数据有三个步骤:

1,PHP和MySQL建立连接关系

2,打开MySQL数据库

3,接受页面数据,PHP录入到指定的表中

1、2两步可直接使用一个数据库链接文件即可:conn.php

代码如下

<?php

mysql_connect("localhost","root","")//连接MySQL

mysql_select_db("hello")//选择数据库

?>

当然,前提是已经安装WEB服务器、PHP和MySQL,并且建立MySQL表“cnbruce”

mysql_connect()中三个参数分别为MySQL地址、MySQL用户名和MySQL密码

然后就是通过WEB页面传递数据,让PHP通过SQL语句将数据写入MySQL数据库指定的表中,比如新建文件 post.php

代码如下

<?php

require_once("conn.php")//引用数据库链接文件

$uname = $_GET['n']//GET方法为URL参数传递

$psw = $_GET['p']

$psw=md5($psw)//直接使用MD5加密

$sql = "insert into members(username,password) values ('$uname','$psw')"

mysql_query($sql)//借SQL语句插入数据

mysql_close()//关闭MySQL连接

echo "成功录入数据"

?>

测试页面: http://localhost/post.php?n=cnbruce&p=i0514

即可向MySQL数据库hello的members表中插入新的数据“cnbruce”到username字段、“i0514”到password字段

补充:读取表

读取表中的内容,这里我们用while,可以根据具体情况,用for 或其他的.

代码如下

while($row = mysql_fetch_array($result))

{

echo "<div style="height:24pxline-height:24pxfont-weight:bold">"//排版代码

echo $row['Topic'] . "<br/>"

echo "</div>"//排版代码


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9625641.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存