操作PDO连接数据库,实现电影网站的数据查询
1、在数据库创建数据库,再分别创建category,movies,和system数据表,最后写入电影数据
2、编写PDO数据库连接公共文件connect.php
实例
header("Content-type: text/html; charset=utf-8"); //数据库简介参数 $db = [ 'type'=>'mysql', 'host'=>'localhost', 'dbname'=>'ouyangke', 'username'=>'root', 'password'=>'root' ]; //配置数据源dns信息 $dsn = "{$db['type']}:host={$db['host']};dbname={$db['dbname']}"; //连接数据库 try{ $pdo = new PDO($dsn,$db['username'],$db['password']); } catch (PDOException $e) { die('Connect Failed'.$e->getMessage()); } $pdo->query("SET NAMES utf8"); // $pdo->exec('SET NAMES utf8'); //设置数据库编码,两种方法都可以
运行实例 »
点击 "运行实例" 按钮查看在线实例
3、在电影网站的header.php 引入数据库连接公共文件connect.php,编写PDO数据库查询操作
实例
require __DIR__.'/connect.php'; //创建栏目sql语句模板 $sql_cate = 'select * from category'; // 创建sql语句对象 $stmt_cates = $pdo->prepare($sql_cate); if($stmt_cates->execute()){ $cates = $stmt_cates->fetchAll(PDO::FETCH_ASSOC); } //创建movies sql语句模板 $sql_movies = 'select * from movies'; // 创建sql语句对象 $stmt_movies = $pdo->prepare($sql_movies); if($stmt_movies->execute()){ $movies = $stmt_movies->fetchAll(PDO::FETCH_ASSOC); } //创建system sql语句模板 $sql_system = 'select * from `system` where `sys_id` =1'; // 创建sql语句对象 $stmt_system = $pdo->prepare($sql_system); if($stmt_system->execute()){ $system = $stmt_system->fetch(PDO::FETCH_ASSOC); }
运行实例 »
点击 "运行实例" 按钮查看在线实例
小结:在使用PDO插入数据库操作的时候,遇到一些坑,写入的数据总是乱码,数据库和表设置的都是utf-8格式,也使用了不同的数据库管理软件,都没有解决这个问题,后来查找资料发现 要使用$pdo->query("SET NAMES utf8"); 在PDO操作数据库的时候,也要设置数据库编码。在编写sql语句的时候,表名也要用小引号` 引起来,避免sql语句报错。