PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

博客列表 > 数据库读取数据_0925

数据库读取数据_0925

Jet的博客
Jet的博客 原创
2019年10月08日 12:56:54 1068浏览

一、创建数据库(01.php)

01.png

实例

<?php
//连接数据库参数
$servername = 'localhost';
$username   = 'root';
$password   = 'root';


//链接数据库
try{
    $conn = new PDO("mysql:host=$servername",$username,$password);
}catch(PDOException $e){
        die('Connection Failed:' . $e->getMessage());
}
//创建数据库
try{
    //构造sql语句
    $sql = "create database cinema";
    //使用exec(),exec()执行成功后将返回受影响的行数
    $conn->exec($sql);
    echo "数据库创建成功";
}catch(PDOException $e){
    echo $sql . "<br />" . $e->getMessage();
}

$conn = null;

?>

运行实例 »

点击 "运行实例" 按钮查看在线实例


二、创建数据表(02.php)

02.png

实例

<?php
//创建数据表
$db = [
    'type'          => 'mysql',
    'servername'    => 'localhost',
    'dbname'        => 'cinema',
    'username'      => 'root',
    'password'      => 'root'
];

//配置数据信息
$conn = "{$db['type']}:host={$db['servername']};dbname={$db['dbname']}";
//链接数据库
try{
    $pdo = new PDO($conn, $db['username'], $db['password']);
}catch(PDOException $e){
    die('Connection Failed:' . $e->getMessage());
}

//创建分类表
try{
    $sql = "CREATE TABLE `category` (
        `cate_id` int(3) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
        `name` varchar(30) NOT NULL COMMENT '栏目名称',
        `alias` varchar(30) NOT NULL COMMENT '栏目别名',
        PRIMARY KEY (`cate_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    ";
    //使用exec()方法
    $pdo->exec($sql);
    echo "分类表category创建成功<br />";
}catch(PDOException $e){
    die('Connection Failed:' . $e->getMessage());
}

//创建电影表
try{
    //构建sql语句
    $sql = "CREATE TABLE `movies` (
        `mov_id` int(2) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
        `name` varchar(100) NOT NULL COMMENT '影视剧名',
        `image` varchar(100) NOT NULL,
        `detail` text NOT NULL,
        `cate_id` int(3) unsigned NOT NULL COMMENT '所属栏目',
        PRIMARY KEY (`mov_id`),
        KEY `cate_id` (`cate_id`),
        CONSTRAINT `movies_ibfk_1` FOREIGN KEY (`cate_id`) REFERENCES `category` (`cate_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    ";
    //使用exec()方法
    $pdo->exec($sql);
    echo "数据表movies创建成功<br />";
}catch(PDOException $e){
    die('Connection Failed:' . $e->getMessage());
}

//创建系统表
try{
    $sql = "CREATE TABLE `system` (
        `sys_id` int(1) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
        `title` varchar(50) NOT NULL COMMENT '页面标题',
        `desc` varchar(200) NOT NULL COMMENT '页面描述',
        `key` varchar(50) NOT NULL COMMENT '关键字',
        `copy` varchar(50) NOT NULL COMMENT '版权',
        PRIMARY KEY (`sys_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    ";
    //使用exec()方法
    $pdo->exec($sql);
    echo "系统表system创建成功<br />";
}catch(PDOException $e){
    die('Connection Failed:' . $e->getMessage());
}

//销毁
//$pdo = null;

?>

运行实例 »

点击 "运行实例" 按钮查看在线实例



三、尝试预处理插入单条数据(03.php)

03.png

实例

<?php
//插入数据 预处理
//连接数据库文件
require_once __DIR__ . '/connect.php';
//创建SQL预处理插入模板
$sql = 'insert into `system` set `sys_id`=:sys_id, `title`=:title, `desc`=:desc, `key`=:key, `copy`=:copy';
//创建SQL语句对象
$stmt = $pdo->prepare($sql);

//将变量绑定到SQL预处理模板的命名占位符上
$sys_id = 1;
$title  = '私人影院';
$desc   = '收集全网最新最全的影视资源';
$key    = '国产,欧美,日韩';
$copy   = '梁伟杰';
$stmt->bindParam('sys_id', $sys_id, PDO::PARAM_INT);
$stmt->bindParam('title', $title, PDO::PARAM_STR);
$stmt->bindParam('desc', $desc, PDO::PARAM_STR);
$stmt->bindParam('key', $key, PDO::PARAM_STR);
$stmt->bindParam('copy', $copy, PDO::PARAM_STR);

//执行SQL操作
if($stmt->execute()){
    if($stmt->rowCount() > 0){
        echo '成功添加' . $stmt->rowCount() . '条记录,该记录的主键ID是:' . $pdo->lastInsertId();
    }else{
        die('<pre>' . print_r($stmt->errorInfo(), true));
    }
}

//销毁
$pdo=null;



?>

运行实例 »

点击 "运行实例" 按钮查看在线实例


四、创建pdo链接数据库文件(connect.php)

实例

<?php
//创建数据表
$db = [
    'type'          => 'mysql',
    'servername'    => 'localhost',
    'dbname'        => 'cinema',
    'username'      => 'root',
    'password'      => 'root'
];

//配置数据信息
$conn = "{$db['type']}:host={$db['servername']};dbname={$db['dbname']}";
//链接数据库
try{
    $pdo = new PDO($conn, $db['username'], $db['password']);
}catch(PDOException $e){
    die('Connection Failed:' . $e->getMessage());
}



?>

运行实例 »

点击 "运行实例" 按钮查看在线实例



五、修改hearder.php文件,读取数据库

删除相关数组,增加链接数据库代码

实例

<?php
	require_once __DIR__ . '/connect.php';

	//构建查询分类语句
	$sql_c = "SELECT * FROM `category`";
		$stmt_c = $pdo->prepare($sql_c);
	if($stmt_c->execute()){
		$cates = $stmt_c->fetchAll();
	}

	//构建查询电影语句
	$sql_m = "SELECT * FROM `movies`";
	$stmt_m = $pdo->prepare($sql_m);
	if($stmt_m->execute()){
		$movies = $stmt_m->fetchALL();
	}

	//构建底部版权语句
	//使用desc倒叙排列,防止修改增加信息,只取最新一条
	$sql_b = "SSELECT * FROM `system` order by `sys_id` desc limit 1";
	$stmt_b = $pdo->prepare($sql_b);
	if($stmt_b->execute()){
		$banquan = $stmt_b->fetchAll();
	}

运行实例 »

点击 "运行实例" 按钮查看在线实例




六、修改footer.php

04.png

实例

<!--底部版权-->
		<div class="footer">
			<p class="copyright">
			<?php foreach($banquan as $bq) :?>
				<?php echo $bq['copy']?> © 版权所有</p>
			<?php endforeach; ?>
		</div>
	</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例




七、注意修改list.php detail.php文件

如:if ($cate['cate_id'] == $cate_id) {}

因为数据类型不一样,如果全等于,会导致无法读取数据


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议