由于工作的原因,需要了解下bs模式下的读写数据库的流程,将试验过程梳理一下。

我采用的是phpstudy搭建数据库,mysql数据库已经搭建完成,名称为2018版本,如下图:

由于我前期安装过apache的服务,所以有些冲突,有些时候可能需要将mysql服务手动启动才可以正常连接,验证方法为从mysql管理器->phpmyadmin可以打开如下界面即为连接成功。

可以看到有多个数据库,我使用上面的test库。

在定义的根目录下(我这里是D:\phpstudy\PHPTutorial\WWW)新建立一个php文件。内容如下

<?php

header("Content-Type:text/html;charset=utf-8");//如果没有这句话,后面的汉字显示是乱码;

//code = $_POST['code'];

$status = "";

$success = "";

$scookies = "";

//连接数据库  使用mysqli模式

$username="root";

$userpass="root";

$servername = "localhost";

$dbname = "test";

$conn = "";//数据库变量

//连接数据库函数,参数分别是数据库地址,用户名,密码,数据库的名称

function connectdb($server,$name,$pwd,$databasename)

{

//创建连接 ,连接数据库,并判断是否连接成功

$conn = new mysqli($server,$name,$pwd,$databasename);

// 检测连接

if ($conn->connect_error)

{

die("link db failire: " . $conn->connect_error);

echo "connect database [" . $server . " ]  failire <br/>";

return $conn;

}

else

{

echo "connect database [" . $server . "]  successful <br/>";

return $conn;

}

}

//检测表是否存在

function check_table_is_exist($sql,$find_table)

{

$row=mysql_query($sql);

$database=array();

$finddatabase=$find_table;

while ($result=mysql_fetch_array($row,MYSQL_ASSOC))

{

$database[]=$result['Database'];

}

unset($result,$row);

mysql_close();

/*开始判断表是否存在*/

if(in_array($find_table,$database))

{

return true;

}

else

{

return false;

}

}

//create new table

function createnewtable($conn)

{

// 使用 sql 创建数据表

$sql = "CREATE TABLE MyGuests (

id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,

firstname VARCHAR(30) NOT NULL,

lastname VARCHAR(30) NOT NULL,

email VARCHAR(50),

reg_date TIMESTAMP

)";

if ($conn->query($sql) == TRUE)

{

echo  "Table MyGuests created successfully <br/>";

}

else

{

echo  "create database table error: " . $conn->error . " <br/>";

return false;

}

}

function insertrecord($conn,$tablename)

{

//echo -e "\r\n";

//插入一条数据

$sql = "INSERT INTO MyGuests (firstname, lastname, email)

VALUES ('John', 'Doe', 'john@example.com')";

if ($conn->query($sql) == TRUE)

{

print "insert one record successful <br/>";

} else

{

echo  "Error: " . $sql . "<br/>" . $conn->error;

echo  "\r\n";

}

$sql="";

//插入多条数据

$sql .= "INSERT INTO MyGuests (firstname, lastname, email)

VALUES ('Mary', 'Moe', 'mary@example.com');";

$sql .= "INSERT INTO MyGuests (firstname, lastname, email)

VALUES ('Julie', 'Dooley', 'julie@example.com')";

if ($conn->multi_query($sql) == TRUE) {

echo  "insert records successful. <br/>";

} else {

echo  "Error: " . $sql . "<br>" . $conn->error;

}

return true;

}

function showtabledata($conn,$sql)

{

$conn->query($sql);

}

function del_data($conn,$sql)

{

print $sql . "</br>";

if($conn->query($sql)==true)

{

echo "delete records successful </br>";

}

else

{

echo "delete records failire </br>";

}

}

function show_alldata_fromtable($servername,$username,$userpass,$dbname,$tablename)

{

$conn = mysqli_connect($servername,$username,$userpass,$dbname);

if(mysqli_connect_errno($conn))

{

echo "connect mysql failed " . mysqli_connect_error();

return;

}

echo "connect successful<br>";

//第二步设置相应的字符编码

//$mysqli->set_charset("utf8");

//$setting = 'set names utf8';

//mysqli_query($conn,$setting);

//echo "query successful <br>" ;//. $conn . $setting;

//第三步进行查询

$sql = 'SELECT * FROM MyGuests';

//执行查询语句,返回result为数据内容

if($result = mysqli_query($conn,$sql))

{

//得到查询的记录的个数,

$rowcount = mysqli_num_rows($result);

echo "return {$rowcount} records <br>";

echo

"<center>

<table>

<tr>

<th>序号        </th>

<th>姓          </th>

<th>名          </th>

<th>电子邮件    </th>

<th>时间日期    </th>

</tr>

</table>

</center>";

for($i = 0;$i <$rowcount;$i ++)

{

//按顺序一次读取一条记录,保存到sqldata中

$sqldata = mysqli_fetch_assoc($result);

echo

"<center>

<table>

<tr>

<td>".$sqldata['id']."</td>

<td>".$sqldata['firstname']."</td>

<td>".$sqldata['lastname']. "</td>

<td>".$sqldata['email']. "</td>

<td>".$sqldata['reg_date']. "</td>

</tr>

</table>

</center>";

}

mysqli_free_result($result);

}

//第五步把结果写到缓存文件

$file = "sqlcache.txt";

$msg = serialize($sqldata);

//echo $msg;

$fp = fopen($file,"w");

fputs($fp,$msg);

fclose($fp);

}

//连接数据库

$conn = connectdb($servername,$username,$userpass,$dbname);

createnewtable($conn);

$sql = "DELETE FROM myguests ";

//del_data($conn,$sql);

insertrecord($conn,'MyGuests');

//$conn->close();

show_alldata_fromtable($servername,$username,$userpass,$dbname,'',$conn);

$conn->close();

?>

注意 createnewtable 函数,可根据实际情况是否执行;

通过上面的文件,可以实现连接数据库,创建表单,插入单条、多条记录,删除记录,显示数据库的内容,将数据库内容序列化到文件,按一个简单的格式显示到网页中;

这里在网页上显示换行需要注意(我是要给新手),要使用<br>来实现,刚开始还试验  \n 或者\r\n,走了一个弯路,记录到这里。

下面开始考虑如何设计一个界面,具体用php设计还是使用js或者vue还没弄明白。弄好了在记录吧。

使用php读写mysql数据库并显示到网页上相关推荐

  1. django链接mysql网页显示数据_使用Django连接mysql数据库并显示在网页上

    由于使用Django框架来做网站,需要动态显示数据库内的信息,所以读取数据库必须要做 接下来分两步来做这个事,添加网页,读取数据库: 一.添加网页 首先需要在工程中新建一个app python man ...

  2. pandas读写MySQL数据库详解及实战

    pandas读写MySQL数据库详解及实战 SQLAlchemy是Python中最有名的ORM工具. 关于ORM: 全称Object Relational Mapping(对象关系映射). 特点是操纵 ...

  3. php显示mysql数据实例_php 连接mysql数据库并显示数据 实例 转载 aoguren

    PHP连接MySQL数据库并显示数据//---------基本设定---------$mysql_server_name = "localhost";//服务器名称:$mysql_ ...

  4. java读写mysql数据库_Java读写MySQL数据库小实例

     Java读写MySQL数据库小实例 首先需要安装和配置好MySQL数据库.接下来,先创建一个数据库,Java代码连接此数据库,然后读写. 假设基于MySQL命令行创建一个叫做:phildatab ...

  5. mysql数据库无法显示中文_mysql数据库不能显示中文是怎么回事呢?

    mysql数据库不能显示中文是怎么回事呢? 关注:140  答案:3  mip版 解决时间 2021-01-09 23:16 已解决 2021-01-09 06:37 Class.forName(&q ...

  6. Zeppelin上通过Spark读写mysql数据库

    Zeppelin上通过Spark读写mysql数据库 一.从mysql数据库获取数据 二.把处理后的数据再插入到mysql数据库 一.从mysql数据库获取数据 %spark val df = spa ...

  7. Java只读服务器,在服务器端,JSP页面如何只读打开本地的word文件并显示在网页上...

    在服务器端,JSP页面怎么只读打开本地的word文件并显示在网页上? 最近开发网站,遇到一个问题就是在服务器端,JSP页面怎么只读打开本地的word文件并显示在网页上,请问高位高手有没有什么解决办法, ...

  8. datagridview控件读写mysql数据库表格的方法_C#读写Access数据库、表格datagridview窗体显示代码实例...

    C#读写Access数据库.表格datagridview窗体显示代码实例 最近项目中用到C#对于Access数据库表读写.mdb操作,学习了下相关的东西,这里先整理C#对于Access数据库的操作,对 ...

  9. mysql中文问号 linux,解决Linux系统下Mysql数据库中文显示成问号的问题

    Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 (需暂停服务的方式) Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 本机采用Ubuntu16.04系统,tar方式安装My ...

最新文章

  1. 如何读取比机器内存大的文件(内存4G,文件 8G,读取大文件) ?
  2. 多个线程对hashmap进行put操作的异常
  3. http://www.himigame.com/mac-cocoa-application/893.html
  4. Swift初级入门【步步为营】
  5. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象其它方法?...
  6. tocmat类加载:正统的类加载
  7. 作业帮电脑版在线使用_应届生应聘作业帮的在线辅导老师
  8. 网络设备巨头优倍快的客户数据遭泄露
  9. C++对二进制文件的操作实例
  10. 网络通信数据传输原理
  11. C语言编程鲍威尔算法,鲍威尔法编程-powell法编程-c语言编程-c++6.0.doc
  12. 小执着的伤感空间日志:童话般虚幻、却没有童话般的结局
  13. 邮件到达对方服务器但是没到邮箱,无法将邮件发送进到对方服务器,教你如何用手工探测...
  14. CyanogenMOD移植教程]
  15. github windows系统监控_你需要的:Windows | 精品软件集
  16. zoc7 下载和使用指南 连接远程主机
  17. 英语中并列句的四种类型
  18. 个人常用的sql脚本语句
  19. 组长偷偷通知裁员名单有我,但HR却迟迟不找,现在没人布置工作,天天闲着好尴尬!...
  20. AT24C04C/08C 中关于写保护WP的使用说明

热门文章

  1. mysql ibd文件还原_Mysql 通过ibd文件恢复数据
  2. c++对象模型之Data布局
  3. 设计模式模式游客(Visitor)摘录
  4. How to create a site with AJAX enabled in MVC framework.
  5. XCode真机测试发布时产生The executable was signed with invalid entitlements.解决办法
  6. 安全获取QueryString的值类库下载
  7. SpringBoot配置文件YAML
  8. 猎头出500万年薪挖百度某高T,却被对方拒绝!网友:钱不是最重要的!
  9. Twitter 广告平台实时计费系统的架构增强之道
  10. 全民K歌内容挖掘与召回