拿php写个原生增删改查案例出来(提供全部代码+sql)

sql

-- phpMyAdmin SQL Dump
-- version 4.5.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: 2022-03-19 19:16:40
-- 服务器版本: 10.1.13-MariaDB
-- PHP Version: 5.6.21

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `a`
--

-- --------------------------------------------------------

--
-- 表的结构 `search`
--

CREATE TABLE `search` (
  `id` int(20) NOT NULL,
  `content` text COLLATE utf8_vietnamese_ci NOT NULL,
  `type` varchar(100) COLLATE utf8_vietnamese_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_vietnamese_ci;

--
-- 转存表中的数据 `search`
--

INSERT INTO `search` (`id`, `content`, `type`) VALUES
(32, 'aaa', '特步'),
(33, '陈业贵喜欢安踏', '安踏');

-- --------------------------------------------------------

--
-- 表的结构 `type`
--

CREATE TABLE `type` (
  `id` int(11) NOT NULL,
  `type` varchar(12) COLLATE utf8_vietnamese_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_vietnamese_ci;

--
-- 转存表中的数据 `type`
--

INSERT INTO `type` (`id`, `type`) VALUES
(1, '安踏'),
(2, '特步');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `search`
--
ALTER TABLE `search`
  ADD PRIMARY KEY (`id`);

--
-- Indexes for table `type`
--
ALTER TABLE `type`
  ADD PRIMARY KEY (`id`);

--
-- 在导出的表使用AUTO_INCREMENT
--

--
-- 使用表AUTO_INCREMENT `search`
--
ALTER TABLE `search`
  MODIFY `id` int(20) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=34;
--
-- 使用表AUTO_INCREMENT `type`
--
ALTER TABLE `type`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

列表页(index.php)

<?php
$link=mysqli_connect('localhost','root','','a');
//然后是指定php链接数据库的字符集
mysqli_set_charset($link,'utf8');
$sql="select * from search";
//模糊查询出像数据库中的title或者content里面的值或者说像数据库中的title或者content里面的某一段值相对应的就行了,就可以输出啦
$result=mysqli_query($link,$sql);//运行sql

?>
<!--显示的效果-->
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<table border="1" cellpadding="5">
		<tr>
			<td>id</td>
			<td>种类</td>
			<td>物品</td>
		
		<?php 
			while ($row=mysqli_fetch_array($result)) {//把对象编程数组输出,不然会报错哦
				# code...
		
		?>
		<tr>
			<td><?=$row['id'];?></td>
			<td><?=$row['content'];?></td>
			<td><?=$row['type'];?></td>
			<td><a href="update.php?id=<?php echo $row['id']; ?>">更新</a></td>
			<td><a href="delete.php?id=<?php echo $row['id']; ?>">删除</a></td>
			
		</tr>
		<?php 
		}
		?>
		</tr>
	</table>
	<a href="create.php">创建</a>
</body>
</html>

delete.php

<?php
$link=mysqli_connect('localhost','root','','a');
//然后是指定php链接数据库的字符集
mysqli_set_charset($link,'utf8');
//$sql = "DELETE FROM `search` WHERE `id` = '$_POST[id]'";

//模糊查询出像数据库中的title或者content里面的值或者说像数据库中的title或者content里面的某一段值相对应的就行了,就可以输出啦
$result=mysqli_query($link,"DELETE FROM search WHERE id ='$_GET[id]'");//运行sql
echo "<script>alert('恭喜你,删除成功了');location.href='index.php';</script>";
?>

update.php

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
		<form action="update.php" method="GET">
		<input type="hidden" name="id" value="<?php echo $_GET['id']?>">
		<td>
					<select name='type' width='500' class='selectfont'>
					<option value='-1'>请选择</option>
						<?php
						$link=mysqli_connect('localhost','root','','a');
						//然后是指定php链接数据库的字符集
						mysqli_set_charset($link,'utf8');
						$sql='select * from type';
						
						$re = mysqli_query($link,$sql);
						while($arr = mysqli_fetch_array($re)){
							echo "<option value='".$arr['type']."'>".$arr['type']."</option>";
						}
						?>
					</select>
		<input type="text" name="content">
		<input type="submit" value="修改">
	</form>
</body>
</html>
<?php
if(!$_GET['content']||$_GET['type']==-1)
{
		
		exit();

}
$link=mysqli_connect('localhost','root','','a');
//然后是指定php链接数据库的字符集
mysqli_set_charset($link,'utf8');
//$sql = "DELETE FROM `search` WHERE `id` = '$_POST[id]'";

//模糊查询出像数据库中的title或者content里面的值或者说像数据库中的title或者content里面的某一段值相对应的就行了,就可以输出啦
$result=mysqli_query($link,"UPDATE search set content='$_GET[content]',type='$_GET[type]' WHERE id ='$_GET[id]'");//运行sql
$sql="select * from search";
//模糊查询出像数据库中的title或者content里面的值或者说像数据库中的title或者content里面的某一段值相对应的就行了,就可以输出啦
$result=mysqli_query($link,$sql);//运行sql
echo "<script>alert('恭喜你,更新成功了');location.href='index.php';</script>";

?>

create.php

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<form action="create.php" method="POST">
		<input type="text" name="content">
		<td>
					<select name='type' width='500' class='selectfont'>
					<option value='-1'>请选择</option>
						<?php
						$link=mysqli_connect('localhost','root','','a');
						//然后是指定php链接数据库的字符集
						mysqli_set_charset($link,'utf8');
						$sql='select * from type';
						
						$re = mysqli_query($link,$sql);
						while($arr = mysqli_fetch_array($re)){
							echo "<option value='".$arr['type']."'>".$arr['type']."</option>";
						}
						?>
					</select>
				</td>
		<input type="submit" value="创建">
	</form>
</body>
</html>
<?php
if(!$_POST['content']||$_POST['type']==-1)
{
		
		exit();

}
$content=$_POST['content'];
$type=$_POST['type'];
$link=mysqli_connect('localhost','root','','a');
//然后是指定php链接数据库的字符集
mysqli_set_charset($link,'utf8');
$sql = "INSERT INTO search(content,type)
VALUES ('{$content}','{$type}')";
 
$result=mysqli_query($link,$sql);
if($result)
{
echo "<script>alert('创建成功');location.href='index.php';</script>";
}
?>

效果图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 16
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 33
    评论
好的,以下是一套基本的原生 PHP 增删改查操作,使用 PDO 进行数据库连接。 首先需要在本地搭建一个数据库并创建一张表,这里以创建一个名为 `users` 的表为例,该表有四个字段 `id`、`name`、`age`、`email`。 ```sql CREATE TABLE `users` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, `age` int(11) DEFAULT NULL, `email` varchar(50) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` 接下来是 PHP 代码。 ```php <?php // 数据库信息 $host = 'localhost'; $dbname = 'your_database_name'; $user = 'your_username'; $pass = 'your_password'; try { // 连接数据库 $dbh = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $user, $pass); } catch (PDOException $e) { echo '数据库连接失败: ' . $e->getMessage(); exit; } // 查询数据 $sql = "SELECT * FROM users"; $stmt = $dbh->prepare($sql); $stmt->execute(); $users = $stmt->fetchAll(PDO::FETCH_ASSOC); // 插入数据 $sql = "INSERT INTO users (name, age, email) VALUES (:name, :age, :email)"; $stmt = $dbh->prepare($sql); $stmt->bindParam(':name', $name); $stmt->bindParam(':age', $age); $stmt->bindParam(':email', $email); $name = '张三'; $age = 18; $email = 'zhangsan@example.com'; $stmt->execute(); // 更新数据 $sql = "UPDATE users SET name=:name, age=:age, email=:email WHERE id=:id"; $stmt = $dbh->prepare($sql); $stmt->bindParam(':name', $name); $stmt->bindParam(':age', $age); $stmt->bindParam(':email', $email); $stmt->bindParam(':id', $id); $name = '李四'; $age = 20; $email = 'lisi@example.com'; $id = 1; $stmt->execute(); // 删除数据 $sql = "DELETE FROM users WHERE id=:id"; $stmt = $dbh->prepare($sql); $stmt->bindParam(':id', $id); $id = 2; $stmt->execute(); ``` 以上代码中,首先根据数据库信息使用 PDO 连接到数据库。然后使用 PDO 的 prepare 方法准备 SQL 语句,并使用 bindParam 方法绑定参数,然后执行 execute 方法即可执行 SQL 语句。其中查询数据使用了 fetchAll 方法获取所有数据,插入、更新、删除数据使用了 execute 方法执行 SQL 语句。 需要注意的是,这里使用了 PDO 的 prepare 方法和 bindParam 方法,可以有效防止 SQL 注入攻击。同时,由于使用了 PDO,我们可以在连接数据库时指定字符集,这样可以解决中文乱码问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贵哥的编程之路(热爱分享)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值