摘要:1.参数绑定:bindParam()/bindValue()bindParam(:占位符,变量,类型常量),类型默认为字符串bindValue(:占位符,值或变量,类型常量),如果直接传值,可省略类型常量execute([:占位符=>值/变量]):将阐述以数组方式与SQL语句的占位符绑定2.列绑定 bindColumn('列名或索引',变量,变量类型,最大长度),如
1.参数绑定:bindParam()/bindValue()
bindParam(:占位符,变量,类型常量),类型默认为字符串
bindValue(:占位符,值或变量,类型常量),如果直接传值,可省略类型常量
execute([:占位符=>值/变量]):将阐述以数组方式与SQL语句的占位符绑定
2.列绑定
bindColumn('列名或索引',变量,变量类型,最大长度),如果是字符串类型,应该指出最大长度进行预分配
<?php
$pdo = new PDO('mysql:dbname=user', 'root', '');
$sql = "SELECT `user_id`,`name`,`email`,`create_time` FROM `user` WHERE `status` = :status";
$stmt = $pdo->prepare($sql);
//参数绑定:bindParam()/bindValue()使用
$status = 1;
//$stmt->bindParam(':status',$status,PDO::PARAM_INT);
//bindValue和bindParam几乎一样,bindValue可以传值。
$stmt->bindValue(':status', 1, PDO::PARAM_INT);
$stmt->execute();
//2.列绑定bindColumn()
$stmt->bindColumn(1, $user_id, PDO::PARAM_INT);
$stmt->bindColumn(2, $name, PDO::PARAM_STR, 20);
$stmt->bindColumn(3, $email, PDO::PARAM_STR, 100);
$stmt->bindColumn(4, $create_time, PDO::PARAM_STR, 100);
$rows = [];
while ($stmt->fetch(PDO::FETCH_ASSOC)) {
$rows[] = compact('user_id', 'name', 'email', 'create_time');
}
$stmt = null;
$pdo = null;
?>
<style>
table {
border-collapse: collapse;
text-align: center;
margin: 0 auto;
box-shadow: 2px 2px 8px 2px rgba(0, 0, 0, 0.2);
}
table caption {
font-size: 1.4rem;
line-height: 2rem;
}
table tr:first-child {
background: #999;
color: #fff;
}
tr td {
border: 1px solid #666;
padding: 5px;
width: 100px;
}
</style>
<table>
<caption>用户信息表</caption>
<tr>
<td>ID</td>
<td>姓名</td>
<td>邮箱</td>
<td>创建时间</td>
</tr>
<?php foreach ($rows as $row) : ?>
<tr>
<td><?php echo $row['user_id'] ?></td>
<td><?php echo $row['name'] ?></td>
<td><?php echo $row['email'] ?></td>
<td><?php echo date('Y/m/d', $row['create_time']) ?></td>
</tr>
<?php endforeach; ?>
<!-- 不推荐 -->
<?php
foreach ($rows as $row) {
echo "<tr>";
echo '<td>' . $row['user_id'] . '</td>';
echo '<td>' . $row['name'] . '</td>';
echo '<td>' . $row['email'] . '</td>';
echo '<td>' . date('Y/m/d', $row['create_time']) . '</td>';
echo "</tr>";
}
?>
</table>
基本翻译
n. 数据库系统(一种免费的跨平台的)
网络释义
MySQL: 数据库
MySQL Workbench: MySQL Workbench
MySQL AB: MySQL AB
批改老师:天蓬老师批改时间:2018-12-03 18:07:30
老师总结:写得相当完整, 每提交一次作业 , 也是对自己的一个考验, 还有,在商业项目项目开发,这种绑定非常实用, 小项目,可以直接将参数传给execute()方法即可