PHP MySQL (二)面向对象 增删查改 (预编译方式)
php 拓展 mysqli 操作数据库
增
<?php
header('content-type:text/html;charset=utf-8');
$host = "127.0.0.1";
$user = "root";
$password = "root";
$db = "test";
$mysqli = new mysqli($host, $user, $password, $db); //实例化mysqli对象,连接mysql数据库
if ($mysqli->connect_errno) {
die($mysqli->connect_error);
}
$mysqli->set_charset('utf8'); //设置字符集
$sql = "insert user(username,password,create_time,update_time) values(?,?,?,?)";
$mysqli_stmt = $mysqli->prepare($sql);//准备预处理语句
$username = 'king';
$password = md5('king');
$create_time = date("Y-m-d H:i:s");
$update_time = date("Y-m-d H:i:s");
//s代表string类型
$mysqli_stmt->bind_param('ssss', $username, $password, $create_time, $update_time);
//执行预处理语句
if ($mysqli_stmt->execute()) {
echo $mysqli_stmt->insert_id;//程序成功,返回插入数据表的行id
echo PHP_EOL;
} else {
echo $mysqli_stmt->error;//执行失败,错误信息
}
//再添加一条数据
$username = 'seven';
$password = md5('seven');
$create_time = date("Y-m-d H:i:s");
$update_time = date("Y-m-d H:i:s");
//s代表string类型
$mysqli_stmt->bind_param('ssss', $username, $password, $create_time, $update_time);
//执行预处理语句
if ($mysqli_stmt->execute()) {
echo $mysqli_stmt->insert_id;//程序成功,返回插入数据表的行id
echo PHP_EOL;
} else {
echo $mysqli_stmt->error;//执行失败,错误信息
}
删
<?php
header('content-type:text/html;charset=utf-8');
$host = "127.0.0.1";
$user = "root";
$password = "root";
$db = "test";
$mysqli = new mysqli($host, $user, $password, $db);
if($mysqli->connect_errno){
die($mysqli->connect_error);
}
$mysqli->set_charset('utf8');
$_GET['id'] = 2;
$id = $_GET['id'];
$sql = "DELETE FROM `user` WHERE `id` = ?";
$mysqli_stmt = $mysqli->prepare($sql);
$mysqli_stmt->bind_param('i', $id);
if($mysqli_stmt->execute()) {
if($mysqli_stmt->num_rows > 0){
echo '删除成功';
}else{
echo '删除失败';
}
}
改
<?php
//mysql事务
header('content-type:text/html;charset=utf-8');
$host = '127.0.0.1';
$user = 'root';
$password = 'root';
$db = 'test';
$mysqli = new myslqi($host, $user, $password, $db);
if($mysqli->connect_errno){
die($mysqli->connect_error);
}
$mysqli->set_charset('utf8');
$sql = "UPDATE `user` set `username` = ? WHERE `id` = ?";
$mysqli_stmt = $mysqli->prepare($sql);//准备预处理语句
//s代表string类型,i代表int
$mysqli_stmt->bind_param('si', $username, $id);
//执行预处理语句
if ($mysqli_stmt->execute()) {
echo PHP_EOL;
} else {
echo $mysqli_stmt->error;//执行失败,错误信息
}
$mysqli->close();
查
<?php
header('content-type:text/html;charset=utf-8');
$host = "127.0.0.1";
$user = "root";
$password = "root";
$db = "test";
$mysqli = new mysqli($host, $user, $password, $db);
if($mysqli->connect_errno){
die($mysqli->connect_error);
}
$mysqli->set_charset('utf8');
$_GET['id'] = 2;
$id = $_GET['id'];
$sql = "SELECT `id`, `username`, `create_time` FROM `user` WHERE `id` > ?";
$mysqli_stmt = $mysqli->prepare($sql);
$mysqli_stmt->bind_param('i', $id);
$mysqli_stmt->execute();
if($mysqli_stmt->execute()){
//bind_result() 绑定结果集中的值到变量
$mysqli_stmt->bind_result($id, $username, $create_time);
//遍历结果集
while($mysqli_stmt->fetch()){
echo '编号'.$id;
echo '用户名'.$username;
echo '添加时间'.$create_time;
echo "<br/>";
}
}
//释放结果集
$mysqli_stmt->free_result();
$mysqli_stmt->close();
$mysqli->close();
本作品采用《CC 协议》,转载必须注明作者和本文链接