使用php读写mysql数据库并显示到网页上
由于工作的原因,需要了解下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数据库并显示到网页上相关推荐
- django链接mysql网页显示数据_使用Django连接mysql数据库并显示在网页上
由于使用Django框架来做网站,需要动态显示数据库内的信息,所以读取数据库必须要做 接下来分两步来做这个事,添加网页,读取数据库: 一.添加网页 首先需要在工程中新建一个app python man ...
- pandas读写MySQL数据库详解及实战
pandas读写MySQL数据库详解及实战 SQLAlchemy是Python中最有名的ORM工具. 关于ORM: 全称Object Relational Mapping(对象关系映射). 特点是操纵 ...
- php显示mysql数据实例_php 连接mysql数据库并显示数据 实例 转载 aoguren
PHP连接MySQL数据库并显示数据//---------基本设定---------$mysql_server_name = "localhost";//服务器名称:$mysql_ ...
- java读写mysql数据库_Java读写MySQL数据库小实例
Java读写MySQL数据库小实例 首先需要安装和配置好MySQL数据库.接下来,先创建一个数据库,Java代码连接此数据库,然后读写. 假设基于MySQL命令行创建一个叫做:phildatab ...
- mysql数据库无法显示中文_mysql数据库不能显示中文是怎么回事呢?
mysql数据库不能显示中文是怎么回事呢? 关注:140 答案:3 mip版 解决时间 2021-01-09 23:16 已解决 2021-01-09 06:37 Class.forName(&q ...
- Zeppelin上通过Spark读写mysql数据库
Zeppelin上通过Spark读写mysql数据库 一.从mysql数据库获取数据 二.把处理后的数据再插入到mysql数据库 一.从mysql数据库获取数据 %spark val df = spa ...
- Java只读服务器,在服务器端,JSP页面如何只读打开本地的word文件并显示在网页上...
在服务器端,JSP页面怎么只读打开本地的word文件并显示在网页上? 最近开发网站,遇到一个问题就是在服务器端,JSP页面怎么只读打开本地的word文件并显示在网页上,请问高位高手有没有什么解决办法, ...
- datagridview控件读写mysql数据库表格的方法_C#读写Access数据库、表格datagridview窗体显示代码实例...
C#读写Access数据库.表格datagridview窗体显示代码实例 最近项目中用到C#对于Access数据库表读写.mdb操作,学习了下相关的东西,这里先整理C#对于Access数据库的操作,对 ...
- mysql中文问号 linux,解决Linux系统下Mysql数据库中文显示成问号的问题
Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 (需暂停服务的方式) Linux系统下 MYSQL数据库中的数据库文件在本机内迁移 本机采用Ubuntu16.04系统,tar方式安装My ...
最新文章
- 如何读取比机器内存大的文件(内存4G,文件 8G,读取大文件) ?
- 多个线程对hashmap进行put操作的异常
- http://www.himigame.com/mac-cocoa-application/893.html
- Swift初级入门【步步为营】
- 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象其它方法?...
- tocmat类加载:正统的类加载
- 作业帮电脑版在线使用_应届生应聘作业帮的在线辅导老师
- 网络设备巨头优倍快的客户数据遭泄露
- C++对二进制文件的操作实例
- 网络通信数据传输原理
- C语言编程鲍威尔算法,鲍威尔法编程-powell法编程-c语言编程-c++6.0.doc
- 小执着的伤感空间日志:童话般虚幻、却没有童话般的结局
- 邮件到达对方服务器但是没到邮箱,无法将邮件发送进到对方服务器,教你如何用手工探测...
- CyanogenMOD移植教程]
- github windows系统监控_你需要的:Windows | 精品软件集
- zoc7 下载和使用指南 连接远程主机
- 英语中并列句的四种类型
- 个人常用的sql脚本语句
- 组长偷偷通知裁员名单有我,但HR却迟迟不找,现在没人布置工作,天天闲着好尴尬!...
- AT24C04C/08C 中关于写保护WP的使用说明
热门文章
- mysql ibd文件还原_Mysql 通过ibd文件恢复数据
- c++对象模型之Data布局
- 设计模式模式游客(Visitor)摘录
- How to create a site with AJAX enabled in MVC framework.
- XCode真机测试发布时产生The executable was signed with invalid entitlements.解决办法
- 安全获取QueryString的值类库下载
- SpringBoot配置文件YAML
- 猎头出500万年薪挖百度某高T,却被对方拒绝!网友:钱不是最重要的!
- Twitter 广告平台实时计费系统的架构增强之道
- 全民K歌内容挖掘与召回