0716作业
1.PDO(PHP Data Object)是php数据对象,即实现与不同数据库连接进行各种增删改查操作的工具。兼容性强
2.使用pdo类的对象去连接数据库,然后使用PDO对象中的prepare()方法获取PDOStatement对象, 接着使用PDOStatement对象的成员方法将获得的结果集中的数据(二维数组)遍历出来,渲染到表格中。
<?php
//定义常亮配置基本连接参数,以后可以复用
//数据库类型(如果是Oracle,postgres,mangoDB对应修改后面的值就行,PDO兼容大多数数据库)
define('DBTYPE', 'mysql');
//主机名,外网的请修改更新ip,本地用localhost或者127.0.0.1
define('HOST', 'localhost');
//端口号
define('PORT', '3306');
//字符集
define('CHARSET', 'utf8');
//数据库名
define('DB_NAME', 'xpcms');
//用户名
define('USERNAME', 'root');
//密码
define('PWD', 'root123');
//dns
//注意PDO连接的格式DSN:数据库类型:host=主机;dbname=数据库;……其他参数
define('DSN', DBTYPE . ':host=' . HOST . ';dbname=' . DB_NAME . ';charset=' . CHARSET);
try {
//实例化PDO对象
$pdo = new PDO(DSN, USERNAME, PWD);
// var_dump($pdo);
} catch (PDOException $e) {
// 捕捉PDO错误信息
echo $e->getMessage();
} catch (Throwable $e) {
//捕捉拥有Throwable接口的错误或者其他异常
echo $e->getMessage();
}
//以上代码可以另存为一个xxx.php文件作为配置连接文件,通过include或者require xxx.php引用以实现代码复用
$sql = "select * from `xpcms_admin` limit 5";
//获取PDOStatement预处理对象
$stmt = $pdo->prepare($sql);
//var_dump($stmt);
//执行预处理语句
$stmt->execute();
//返回查询结果集,这里设置了FETCH_ASSOC设置了关联数组返回结果
$res = $stmt->fetchAll(PDO::FETCH_ASSOC);
// print_r($res);
$output = <<< TABLE
<table border="1px solid #777" cellspacing="0" cellpadding="15px" align="center">
<caption style="font-size:1.8rem">注册用户情况</caption>
<thead bgcolor="skyblue">
<th>用户id</th>
<th>用户名</th>
<th>真实姓名</th>
<th>手机</th>
<th>创建时间</th>
</thead>
TABLE;
// echo $output ;
foreach ($res as $value) {
$output .= "<tr><td >{$value['id']}</td>";
$output .= "<td>{$value['username']}</td>";
$output .= "<td>{$value['real_name']}</td>";
$output .= "<td>{$value['mobile']}</td>";
$output .= "<td>".date("Y-m-d H:m",$value['add_time'])."</td>";
$output .= "</tr>";
}
$output .= "</table>";
//打印结果集(表格)
echo $output;
?>