将表单提交的数据存储到数据库

在前面的章节中,我们学习了如果在 phpWeChat 中创建一个表单,在本节,我们将重点讲述,如何在服务器端,将 Form 提交过来的数据插入数据库。

MySql 操作类操作方法

phpWeChat 封装了常见的 MySql 增、删、改操作,具体方法如下表所示。

假设我们创建了一个 pw_test 表,含有自增的 id(INT),标题 title(VARCHAR),内容 content(TEXT) 3个字段。


MySql 操作方法参数说明函数说明用法举例
MySql::insert($tbname,$info)            

$tbname 指表名

$info是一个数组            

将$info包含的数据插入到表$tbname中,成功时返回插入的记录ID            MySql::insert('pw_test',array('title'=>'标题内容','content'=>'内容详情'));            
MySql::update($tbname,$info,$where)            

$tbname 指表

名$info是一个数组

$where是条件            

修改满足条件$where的记录            MySql::update('pw_test',array('title'=>'标题内容','content'=>'内容详情'),'id=1');            
MySql::mysqlDelete($tbname,$id,$field)            

$tbname 指表

$id是指满足的字段值 

$field是指满足条件的字段名称 

修改满足条件$field=$id的记录            

MySql::mysqlDelete('pw_test',1,'id');

MySql::mysqlDelete('pw_test',1,'typeid'); 

MySql::fetchOne($sql)            $sql 指SQL语句            返回满足$sql的一条记录            MySql::fetchOne("SELECT * FROM pw_test WHERE id=1");            
MySql::fetchAll($sql)            $sql 指SQL语句            返回满足$sql的多条记录            MySql::fetchAll("SELECT * FROM pw_test WHERE typeid=1 LIMIT 0,10");            
MySql::query($sql)            $sql 指SQL语句            执行$sql语句            MySql::query("DELETE  FROM pw_test WHERE typeid=1");            
MySql::lastInsertId()            -返回最后插入的ID            $insertID= MySql::lastInsertId();            
MySql::getCount($tbname)            $tbname 指表名            返回$tbname 表的记录条数            $counts=MySql::getCount('pw_test');            

实际操作实例

还以留言系统为例。

前端 Form 表单代码:

<html>

<form action="post.php" method="post" name="myform">

<input type="text" name="info[title]">

<textarea name="info[content]"></textarea>

<input type="submit" value="提交留言" />

</form>

</html>

服务器端接收:

<?php

DataInput::filterData($info);  // 此句代码用于通过对 $info 进行安全过滤

$insert_id=MySql::insert('pw_test',$info);

echo '操作成功,记录ID为:'.$insert_id;

?>


最后更新:2016-06-08