开发环境
phpstorm + wampserver + navicat
navicat 连接mysql数据库 并新建一个数据库 新建表
新建一个 名字为 cms的数据库
在cms数据库内 新建一个名为 customer的表
表内包括 id username userpwd 三个字段(用户id 用户姓名 用户密码)
并插入几条数据
保存
phpstorm 在index.php中 <?php ?>的操作:用pdo连接数据库
打开phpstorm 在 wamp www目录下新建文档 再建一个 index.php
- $dsn 中 说明了数据库是mysql数据库, 地址是localshost 数据库名字是cms ,mysql的端口号 3306(这个根据自己的mysql端口号输入
- 用户名 密码(我的密码为空
- try {}catch{} 在try里 首先新建一个可以正常返回中文的pdo对象 catch里是没有链接成功就进行报错
<?php
$dsn='mysql:host=localhost; dbname=cms;port=3306';
$username='root';
$pwd='';
try{
//创建了一个可以正常返回中文的pdo对象
$db= new PDO($dsn,$username,$pwd,
[PDO::MYSQL_ATTR_INIT_COMMAND=>"SET NAMES 'utf8'"]
);
}catch( PDOException $e){
echo '数据库连接失败'.$e;
}
- 创建sql 字符集
$sql =<<<SQL
select *from customer ;
/*select *from customer where id = :id; 这是精确查询 先注释掉*/
SQL;
- 执行sql语句并获取数据
if 语句 检查是否为空 当不为空的时候再进行sql语句
$usernamefromquery='';
if(isset($_POST) && !empty($_POST['username'])){
$sql=$sql.'where username like :username';
$usernamefromquery = $_POST['username'];
}
//执行sql并获取数据
//创建准备语句对象
$query=$db->prepare($sql);
$query->bindValue(':username','%'.$usernamefromquery.'%');
$query->execute();
6.查询完毕之后的逻辑模板
区分 fetch() 与fetchall() 的不同与优缺点
当数据很多成千万条数据的时候 要使用fetch()
//验证查询成功 ,此时数据没有取过来
if ($query->errorCode()==0){
$customer =$query->fetchAll();
}
//利用数据
}else{
echo '查询失败'.$query->errorInfo();
}
?>
在html标签下 body中用表格显示获取的数据
通过foreach循环
区分 fetchall
<?php
foreach ($customer as $cus){
echo <<<TABLE1
<tr>
<td>
</td>
<td>
{$cus ['username']}
</td>
<td>
{$cus ['userpwd']}
</td>
</tr>
TABLE1;
}
?>
页面最终显示效果
这样就将 数据库内容获取到 并展示在页面上
第一周任务:
还需要进行模糊搜索 通过搜索用户姓名 建立用户姓名的模糊搜索 (未完成