博客列表 >PDO连接mysql数据库渲染文章数据-----2019-09-25

PDO连接mysql数据库渲染文章数据-----2019-09-25

刂艹亻的博客
刂艹亻的博客原创
2019年09月29日 15:08:04670浏览

PDO连接mysql数据库----渲染页面数据

第一步:列出连接数据库所需参数,然后拼接字符串,


$db = [

'type' => 'mysql',

'host' => '127.0.0.1',

'dbname' => 'chen',

'username' => 'root',

'password' => 'root'

];

$dsn = "{$db['type']}:host={$db['host']};dbname={$db['dbname']}";


第二步:实例pdo,连接数据库

try {

$pdo = new PDO($dsn, $db['username'], $db['password']);

} catch (PDOException $e) {

die('数据库连接错误: ' . $e->getMessage());

}

第三步:创建sql语句

$sql3 = 'SELECT * FROM `category`';

第四步:创建预处理对象

$cate_p = $pdo->prepare($sql3);

第五步:执行数据库操作

if ($cate_p->execute()) {

//取出所查询的全部数据

$cates = $cate_p->fetchAll(PDO::FETCH_ASSOC);

} else {

die('<pre>' . print_r($cate_p->errorInfo(), true));

}

运用实例如下:

微信截图_20190927093527.png


实例

<?php
// 共用文件
function randomkeys($length)
{
    $key='';
    $pattern = '1234567890abcdefghijklmnopqrstuvwxyz   
               ABCDEFGHIJKLOMNOPQRSTUVWXYZ';
    for ($i = 0; $i < $length; $i++) {
        $key .= $pattern{
        mt_rand(0, 35)};    //生成php随机数   
    }
    return $key;
}
$db = [
    'type' => 'mysql',
    'host' => '127.0.0.1',
    'dbname' => 'chen',
    'username' => 'root',
    'password' => 'root'
];
$dsn = "{$db['type']}:host={$db['host']};dbname={$db['dbname']}";

try {
    $pdo = new PDO($dsn, $db['username'], $db['password']);
} catch (PDOException $e) {
    die('数据库连接错误: ' . $e->getMessage());
}
//电影分类
$sql3 = 'SELECT * FROM `category`';
$cate_p = $pdo->prepare($sql3);
if ($cate_p->execute()) {
    $cates = $cate_p->fetchAll(PDO::FETCH_ASSOC);
} else {
    die('<pre>' . print_r($cate_p->errorInfo(), true));
}

//系统设置
$sql = 'SELECT * FROM `system`';
$shuju = $pdo->prepare($sql);
if ($shuju->execute()) {
    $title = $shuju->fetch(PDO::FETCH_ASSOC);
} else {
    die('<pre>' . print_r($shuju->errorInfo(), true));
}

//电影详情
$sql2 = 'SELECT * FROM `movies`';
$shuju2 = $pdo->prepare($sql2);
if ($shuju2->execute()) {
    $movies = $shuju2->fetchAll(PDO::FETCH_ASSOC);
} else {
    die('<pre>' . print_r($shuju2->errorInfo(), true));
}


//添加评论
if ($_SERVER['REQUEST_METHOD'] != 'POST') {
    echo json_encode(array(
        'code' => 111,
    ));
} else {
    $img = 'gir.gif';
    $name = randomkeys(10);
    $textarea = $_POST['textarea'];
    $mov_id = $_POST['moc_id'];
    $cate_id = $_POST['cate_id'];

    $sql4 = 'INSERT INTO `COMMENT` SET `mov_id`=:mov_id,`name`=:name,`image`=:image,`detail`=:detail,`cate_id`=:cate_id';

    $shuju4 = $pdo->prepare($sql4);

    $shuju4->bindParam('mov_id', $mov_id, PDO::PARAM_INT);
    $shuju4->bindParam('name', $name, PDO::PARAM_STR);
    $shuju4->bindParam('image', $img, PDO::PARAM_STR);
    $shuju4->bindParam('detail', $textarea, PDO::PARAM_STR);
    $shuju4->bindParam('cate_id', $cate_id, PDO::PARAM_INT);

    if ($shuju4->execute()) {
        if($shuju4->rowCount()>0){
            echo json_encode(
                array(
                    'code'=>222,
                    'img'=>$img,
                    'name'=>$name,
                    'textarea'=>$textarea
            ));
        }
    } else {
        die('<pre>' . print_r($shuju4->errorInfo(), true));
    }
}

运行实例 »

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

实例

<?php
include_once __DIR__.'/common.php';

?>
<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<link rel="stylesheet" href="static/css/style1.css">
		<title><?php echo $title['copy'].'的'.$title['title']; ?></title>
		
	</head>
	<body>
		<!--头部导航-->
		<div class="header">
			<ul class="nav">
				<li><a href="index.php">首页</a></li>
				<?php foreach ($cates as $cate) : ?>
					<li><a href="<?php echo$cate['name']; ?>.php?cate_id=<?php echo $cate['cate_id']; ?>"><?php echo $cate['alias'] ?></a></li>
				<?php endforeach; ?>
			</ul>
		</div>
<?php
// 加载公共头部
include __DIR__ . '/header.php';

$mov_id = intval($_GET['mov_id']);
foreach ($movies as $movie) {
	if ($movie['mov_id'] == $mov_id) {

		echo '<h3 cate_id="'.$movie['cate_id'].'">'.$movie['name'].'</h3>';
		echo '<img src="/0920/static/img/' . $movie['image'] . '" alt="" width="300">';
		echo "<p style='text-indent: 2em'>{$movie['detail']}</p>";
	}
};

$sql3 = 'SELECT * FROM `comment`';
$shuju3 = $pdo->prepare($sql3);
if ($shuju3->execute()) {
	$comment = $shuju3->fetchAll(PDO::FETCH_ASSOC);
} else {
	die('<pre>' . print_r($shuju3->errorInfo(), true));
}
echo '<div class="comment">
		<h3>观影评论:</h3>
		<ul>';
foreach ($comment as $k => $v) {
	if ($v['mov_id'] == $mov_id) {
		$cate_id=$v['cate_id'];
		echo '<li>
				<img src="/0920/static/img/' . $v['image'] . '">
				<span>' . $v['name'] . '</span>
				<p>' . $v['detail'] . '</p>								
			</li>';
	}
}

echo '</ul><textarea name="desc" id="tt1">一时摸鱼一时爽,一直摸鱼一直爽!</textarea><br>
	<button type="button" onclick="click_cc();">提交</button>
	</div>';
?>
<script type="text/javascript" src="static/js/jquery-2.2.4.min.js"></script>
<script type="text/javascript">
function getQueryString(name) {
  var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
  var r = window.location.search.substr(1).match(reg);
  if (r != null) {
    return unescape(r[2]);
  }
  return null;
}
	function click_cc() {
		var textarea = $('#tt1').val();
		var moc_id = getQueryString('mov_id');
		var cate_id = $('h3[cate_id]').attr('cate_id');
		$.post("common.php",{"textarea":textarea,"moc_id":moc_id,"cate_id":cate_id},function(res){
			if(res.code == 222){
				var comment = '<li><img src="/0920/static/img/'+res***g+'"><span>'+res.name+'</span><p>' + res.textarea + '</p></li>';
				$('.comment>ul').append(comment);
				confirm('评论保存成功 O!^O^!O');
			}else{
				alert('评论保存失败 ~~T_T~~');
			}
		},"json");
	}
</script>
<!--底部版权-->
<div class="footer">
	<p class="copyright"><?php echo $title['copy']; ?> © 版权所有</p>
</div>
</body>
</html>

运行实例 »

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


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