我的php版本7.3.4
前提工作:
打开php.init文件,开启sqlite3扩展:
;extension=sqlite3
把前面的分号去掉保存,重启服务器即可。
SQLite介绍:
SQLite是一个开源的、嵌入式的关系型数据库,它的数据库就是一个后缀名为 xx.db xx.db3 xx.sqlite xx.sqlie3的文件。
使用SQLite3连接 xx.db 数据库文件:
文件:
先看一下stuinfo1.db文件(用DB Browser for SQLite可视化工具):
有一张stu表:
stu表的数据:
方法1:用 SQLite3 类 连接sqlite的数据库文件:
stuinfo1.php文件:
<?php
//如果xx.db不存在的话则直接创建一个,存在的话直接使用。
$filePath = "stuinfo1.db";
$sqlite = new SQLite3($filePath);
if(!$sqlite){
echo "错误状态码:".$sqlite->lastErrorCode();
echo "错误信息:".$sqlite->lastErrorMsg();
$sqlite->close();
die("失败");
}
$sql = "select * from stu";
$result = $sqlite->query($sql);
$table="";
while($rows = $result->fetchArray(1)){
$table.="<tr><td>$rows[id]</td><td>$rows[name]</td><td>$rows[username]</td><td>$rows[bankCardNum]</td><td>$rows[money]</td><td>$rows[clas2]</td></tr>";
}
?>
<!DOCTYPE html>
<html>
<head>
<title>stuinfo1</title>
<style type="text/css">
*{margin:0;padding:0;}
html,body{width:100%;}
body {
font: normal 12px auto "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
user-select:none;
background: #E6EAE9;
}
#main{
width:960px;
margin: 10px auto;
}
#mytable {width: 100%;}
tr{
background: #fff;
color: #4f6b72;
}
th{
font: bold 18px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
color: #fff;
border-right: 1px solid #C1DAD7;
border-bottom: 1px solid #C1DAD7;
border-top: 1px solid #C1DAD7;
letter-spacing: 2px;
text-align: left;
padding: 6px 6px 6px 12px;
background: #0098a2 no-repeat;
}
td{
border-right: 1px solid #C1DAD7;
border-bottom: 1px solid #C1DAD7;
font-size:16px;
padding: 6px 6px 6px 12px;
}
.tr1{
background-color: #269fa7;
color:white;
}
.tr2{background-color: white;}
</style>
</head>
<body>
<div id="main">
<table id="mytable" width="100%" cellspacing="0px" cellpadding="0px">
<tr><th>ID</th><th>名字</th><th>用户名</th><th>bankCardNum</th><th>余额</th><th>班级</th></tr>
<?php echo $table; ?>
</table>
</div>
</body>
<script>
let aTr = document.getElementsByTagName("tr");
for(let i=1;i<aTr.length;i++){
aTr[i].onmouseover = function(){
aTr[i].className = "tr1";
}
aTr[i].onmouseout = function(){
aTr[i].className = "tr2";
}
}
</script>
</html>
效果图:
方法2:创建一个子类继承 SQLite3 类:
stuinfo1.php文件:
<?php
class MyDB extends SQLite3
{
function __construct()
{
//如果xx.db不存在的话则直接创建一个,存在的话直接使用。
$this->open('stuinfo1.db');
}
}
$db = new MyDB();
$result = $db->query('select * from stu');
var_dump( $result->fetchArray() );
?>
使用PDO连接sqlite数据库文件:
打开php.ini,开启pdo_sqlite扩展:
;extension=pdo_sqlite
把前面的分号去掉保存,重启服务器即可。
stuinfo1.php文件:
<?php
try{
/*语法:new PDO("sqlite:d:/xx/xx.db","username", "password");
如果xx.db不存在的话则直接创建一个,存在的话直接使用。
如果不需要username,则给个空字符串即可
如果不需要password,则给个空字符串即可
*/
$pdo = new PDO("sqlite:stuinfo1.db","", "");
$prep = $pdo->prepare("select * from stu where id=?");
$id = 1;
$prep->bindParam(1,$id);
$prep->execute();
$result = $prep->fetchAll(2);
print_r($result);
}catch(PDOException $e){
echo $e->getMessage();
}
?>
DB Browser for SQLite可视化工具:
用于创建、设计、浏览和编辑与SQLite兼容的数据库文件的可视化工具。
新建数据库:
数据类型:
如果你手上有一个 xx.db文件,直接拖进来即可。或者依次点击: 文件->打开数据库->选择你的 xx.db文件->打开。
DB Browser for SQLite 可视化软件:
下载地址:https://github.com/sqlitebrowser/sqlitebrowser/releases
----结束----
仅学习。