在线地址:http://www.pursuer.top/db/insert.php,乱码待处理
一、数据库的链接
1.创建db.php文件放于inc文件夹下,将数据库的基本参数以数组的方式储存,并返回
<?php // 配置数据库基本参数并返回 return [ 'type' => 'mysql', 'host' => 'localhost', 'dbname' => 'student', 'username' => 'root', 'password' => 'root' ];
点击 "运行实例" 按钮查看在线实例
2.创建connect.php文件放于inc文件夹下,将db.php文件引入进来,将connect.php文件制作成链接数据库的模板文件用于整个项目
<?php
// 创建数据库连接模板
// 1.引入数据库参数
$db = require 'db.php';
// 2.配置dsn数据源
$dsn = "{$db['type']}:host={$db['host']};dbname={$db['dbname']}";
// 3.连接数据库
try {
$pdo = new PDO($dsn,$db['username'],$db['password']);
} catch (PDOException $e) {
die('Connection Failed:' . $e->getMessage());
}点击 "运行实例" 按钮查看在线实例
3.创建数据库文件student.sql
-- Adminer 4.7.2 MySQL dump SET NAMES utf8; SET time_zone = '+00:00'; SET foreign_key_checks = 0; SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'; DROP TABLE IF EXISTS `grade`; CREATE TABLE `grade` ( `stu_id` tinyint(3) NOT NULL AUTO_INCREMENT COMMENT '主键', `stu_name` varchar(20) NOT NULL COMMENT '学生姓名', `stu_course` varchar(10) NOT NULL COMMENT '课程', `stu_grade` int(3) NOT NULL COMMENT '成绩', PRIMARY KEY (`stu_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `grade` (`stu_id`, `stu_name`, `stu_course`, `stu_grade`) VALUES (1, '诸葛亮', 'php', 99); -- 2019-07-28 03:43:25
点击 "运行实例" 按钮查看在线实例
二、增删改查操作
基本步骤:
【1】连接数据库【2】创建$sql模板语句【3】创建执行$sql语句的模板对象【4】绑定模板语句【5】执行语句【6】关闭连接
1.添加操作
INSERT INTO `表名` SET `字段名`=:变量名/值;
完整模式:
<?php
// 增加一条记录
// 1.连接数据库
require __DIR__ . '/inc/connect.php';
// 2.创建sql模板语
$sql = 'INSERT INTO `grade` SET `stu_name`=:stu_name,`stu_course`=:stu_course,`stu_grade`=:stu_grade';
// 3.创建执行sql语句的对象
$stmt = $pdo->prepare($sql);
// 4.绑定模板语句
$stu_name = '关羽';
$stu_course = 'java';
$stu_grade = '80';
$stmt->bindParam('stu_name',$stu_name,PDO::PARAM_STR);
$stmt->bindParam('stu_course',$stu_course,PDO::PARAM_STR);
$stmt->bindParam('stu_grade',$stu_grade,PDO::PARAM_STR);
// 5.执行操作
if ($stmt->execute()) {
if($stmt->rowCount()>0){
echo '成功添加'.$stmt->rowCount().'条记录,主键id是:'.$pdo->lastInsertId();
}
}else{
die('<pre>'.print_r($stmt->errorInfo(),true));
}
// 6.关闭连接
$pdo = null;点击 "运行实例" 按钮查看在线实例
简化模式:
<?php
require __DIR__ . '/inc/connect.php';
$stmt = $pdo->prepare('INSERT INTO `grade` SET `stu_name`=:stu_name,`stu_course`=:stu_course,`stu_grade`=:stu_grade');
$stmt->execute(['stu_name'=>'刘备','stu_course'=>'java','stu_grade'=>80]);
echo '成功添加'.$stmt->rowCount().'条记录,主键id是:'.$pdo->lastInsertId();点击 "运行实例" 按钮查看在线实例
2.删除操作
DELETE FROM `表名` WHERE `字段名`=:变量名/值;
<?php
require __DIR__ . '/inc/connect.php';
$stmt = $pdo->prepare('DELETE FROM `grade` WHERE `stu_id`=:stu_id');
$stmt->execute(['stu_id'=>4]);
echo '成功删除了'.$stmt->rowCount().'条记录';点击 "运行实例" 按钮查看在线实例
3.更新操作
UPDATE `表名` SET `字段名`=:变量名/值 WHERE '字段id'=:变量id/id值;
<?php
require __DIR__ . '/inc/connect.php';
$stmt = $pdo->prepare('UPDATE `grade` SET `stu_name`=:stu_name,`stu_course`=:stu_course,`stu_grade`=:stu_grade WHERE `stu_id`=:stu_id');
$stmt->execute(['stu_name'=>'张飞','stu_course'=>'php','stu_grade'=>62,'stu_id'=>3]);
echo '成功更新了'.$stmt->rowCount().'条记录';点击 "运行实例" 按钮查看在线实例
4.查询操作
SELECT * FROM `表名` WHERE `字段名`=:变量名/值;
【1】方法一:fetch() + while()
<?php
// 方法一:fetch() + while()
require __DIR__ . '/inc/connect.php';
$stmt = $pdo->prepare('SELECT * FROM `grade` WHERE `stu_course`=:stu_course');
$stmt->execute(['stu_course'=>'php']);
while ($student = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo '<pre>'.print_r($student,true);
}点击 "运行实例" 按钮查看在线实例
【2】方法二:fetchAll()
<?php
// 方法二:fetchAll()
require __DIR__ . '/inc/connect.php';
$stmt = $pdo->prepare('SELECT * FROM `grade` WHERE `stu_course`=:stu_course');
$stmt->execute(['stu_course'=>'java']);
$student = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($student as $student) {
echo '<pre>'.print_r($student,true);
}点击 "运行实例" 按钮查看在线实例
【3】方法三:bindColumn()
<?php
// 方法三:bindColumn()
require __DIR__ . '/inc/connect.php';
$stmt = $pdo->prepare('SELECT * FROM `grade` WHERE `stu_course`=:stu_course');
$stmt->execute(['stu_course'=>'php']);
$stmt->bindColumn('stu_name',$stu_name);
$stmt->bindColumn('stu_course',$stu_course);
$stmt->bindColumn('stu_grade',$stu_grade);
while($stmt->fetch(PDO::FETCH_ASSOC)){
echo $stu_name.'---'.$stu_course.'---'.$stu_grade.'<br>';
}点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号