首先可创建一个保存常量的config.php:
<?php
define('MYSQL_HOST','localhost');
define('MYSQL_USER','root');
define('MYSQL_PW','');
然后再创建一个保存函数的文件functions.php:
<?php
require_once 'config.php';
function connnetDb(){
//连接mysql数据库
$conn=mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PW);
//排除连接数据库异常错误
if(!$conn){
die('can not connect db');
}
//在mysql中选中myapp数据库
mysql_select_db("myapp");
return $conn;
}
一.查询数据库
创建主文件allusers.php,将数据库myapp的数据表user的所有输出在html页面上,并添加“添加用户、修改、删除”的链接;
<?php
require_once 'functions.php';
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>所有用户</title>
<style>
table{
border-collapse: collapse;
}
th,td{
border:1px solid #ccccff;
padding: 5px;
}
td{
text-align: center;
}
</style>
</head>
<body>
<a href="adduser.html">添加用户</a>
<table>
<tr><th>id</th><th>名字</th><th>年龄</th><th>修改/删除</th></tr>
<?php
//连接数据库
connnetDb();
//查询数据表中的所有数据,并按照id降序排列
$result=mysql_query("SELECT * FROM users ORDER BY id DESC");
//获取数据表的数据条数
$dataCount=mysql_num_rows($result);
//echo $dataCount;
//打印输出所有数据
for($i=0;$i<$dataCount;$i++){
$result_arr=mysql_fetch_assoc($result);
$id=$result_arr['id'];
$name=$result_arr['name'];
$age=$result_arr['age'];
//print_r($result_arr);
echo "<tr><td>$id</td><td>$name</td><td>$age</td><td><a href='edituser.php?id=$id'>修改</a> <a href='deleteuser.php?id=$id'>删除</a></td></tr>";
}
?>
</table>
</body>
</html>
可获得连接数据库后查询数据得到的页面:
二.添加数据
新建adduser.html页面,提供用户输入表单:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>添加用户</title>
</head>
<body>
<form action="adduser.php" method="post">
<label>用户名:</label><input type="text" name="name">
<label>年龄:</label><input type="text" name="age">
<input type="submit" value="提交">
</form>
</body>
</html>
创建处理用户表单数据的服务端文件adduser.php,并将添加的数据返回到列表页面
<?php
require_once 'functions.php';
//首先进行非空排错
if(!isset($_POST['name'])){
die('name is not define');
}
if(!isset($_POST['age'])){
die('age is not define');
}
$name=$_POST['name'];
$age=$_POST['age'];
if(empty($name)){
die('name is empty');
}
if(empty($age)){
die('age is empty');
}
//连接数据库
connnetDb();
//执行类型转换,防止SQL注入
$age=intval($age);
//插入数据
mysql_query("INSERT INTO users(name,age) VALUES ('$name',$age)");
//返回列表页面
if(mysql_error()){
echo mysql_error();
}else{
header("Location:allusers.php");
}
点击主页面的“添加用户”,跳转到adduser.html页面,输入数据:
呈现的结果为:
特别提醒的是:字符串数据一定要加引号,非字符串一定要进行类型转换,防止SQL注入,以保证数据库安全。
三.修改数据
创建edituser.php,获取需要修改的数据并呈现成表单,供用户修改数据,然后提交给服务端edituser_server.php处理:
<?php
require_once 'functions.php';?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>修改用户数据</title>
</head>
<body>
<?php
if(!empty($_GET['id'])){
//连接mysql数据库
connnetDb();
//查找id
$id=intval($_GET['id']);
$result=mysql_query("SELECT * FROM users WHERE id=$id");
if(mysql_error()){
die('can not connect db');
}
//获取结果数组
$result_arr=mysql_fetch_assoc($result);
}else{
die('id not define');
}
?>
<form action="edituser_server.php" method="post">
<label>用户ID:</label><input type="text" name="id" value="<?php echo $result_arr['id']?>">
<label>用户名:</label><input type="text" name="name" value="<?php echo $result_arr['name']?>">
<label>用户年龄:</label><input type="text" name="age" value="<?php echo $result_arr['age']?>">
<input type="submit" value="提交修改">
</form>
</body>
</html>
创建服务端edituser_server.php处理修改的数据,并返回到主页面allusers.php。
<?php
require_once 'functions.php';
if(empty($_POST['id'])){
die('id is empty');
}
if(empty($_POST['name'])){
die('name is empty');
}
if(empty($_POST['age'])){
die('age is empty');
}
$id=intval($_POST['id']);
$name=$_POST['name'];
$age=intval($_POST['age']);
//连接数据库
connnetDb();
//修改指定数据
mysql_query("UPDATE users SET name='$name',age=$age WHERE id=$id");
//排错并返回
if(mysql_error()){
echo mysql_error();
}else{
header("Location:allusers.php");
}
点击主页面其中一个修改按钮,跳转到修改数据的表单,并将该用户的年龄修改为26:
点击提交修改,回到主页面,可看到数据已修改:
四.删除数据
创建deleteuser.php,执行删除操作后返回主页面
<?php
require_once 'functions.php';
//排空错误
if(empty($_GET['id'])){
die('id is empty');
}
//连接数据库
connnetDb();
$id=intval($_GET['id']);
//删除指定数据
mysql_query("DELETE FROM users WHERE id=$id");
//排错并返回页面
if(mysql_error()){
echo mysql_error();
}else{
header("Location:allusers.php");
}
点击主页面一个删除按钮,可直接删除相应数据: