目的: 练习php与mysql数据库实现数据正删改查待续。。。
安装好 phpstydy 和 mysql
Navicat for Mysql 打开后新建本地 服务器
立表格
在phpstudy 里创建的服务器中 新建 文件index.php
这里是开启服务器的链接步骤
<?php
// 1 链接数据库 数据库链接名称 用户 密码
$link=mysqli_connect("zongcai", "zongcai","zongcai");
// 判断是否链接成功
if(!$link){
exit("<li>连接MySQL数据库服务器失败!</li>");
}
// 2 设置字符集
mysqli_set_charset($link,'utf8');
// 3 选择数据库
mysqli_select_db($link,'zongcai');
// 4 准备sql语句
// $sql="select * from user where username like '王%'"; // 模糊查询
// $sql="select * from user where username ='王宝强'"; // 模糊查询
//$sql="SELECT * FROM `user` where username ='李建'"; // 模糊查询
// SELECT UPDATE DELETE INSERT WHERE
// 5 发送sql语句
$obj= mysqli_query($link,$sql);
// 6 梳理结果集
$res=mysqli_fetch_array($obj);
var_dump($res);
// var_dump($revar_dump($obj);s);
// 7 关闭数据库(释放资源)
mysqli_close($link)
?>
上面是步骤 这里展示demo
dome code address代码下载
效果
前端建立 index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<link rel="stylesheet" href="./css/layui.css">
<link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet">
<script src="https://ttl-cdns.wegames.com.tw/activity-index/js/jquery.min.js"></script>
<script src="https://ttl-cdns.wegames.com.tw/activity-index/js/art-template.js"></script>
<script src="./js/layui.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.3.0/js/bootstrap.js"></script>
<style>
.login {
width: 300px;
margin: 0 auto;
margin-top: 300px;
}
td {
text-align: center;
}
#form1 {
padding-left: 10%;
}
</style>
</head>
<body>
<br>
<form id="form">
<input type="text" name="username" placeholder="输入要查询的用户名"> <button type="button" onclick="search()">查询</button>
</form>
<br>
<table width="600" border="1">
<thead>
<th>编号</th>
<th>姓名</th>
<th>密码</th>
<th>地址</th>
<th>性别</th>
<th>年龄</th>
<th>操作</th>
</thead>
<tbody id="table">
</tbody>
</table>
<a class="btn" href="http://zongcai/add.html">增加</a>
<a class="btn" href="http://zongcai/index.html">首页</a>
<div id="myModal" class="modal fade bs-example-modal-lg" tabindex="-1">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<form id="form1">
<input type="hidden" value="" name="id">
<br/> 姓名:
<input type="text" value="" name="username">
<br/> 密码:
<input type="text" value="" name="password">
<br/> 地址:
<input type="text" value="" name="address">
<br/> 男 :
<input type="radio" value="0" name="sex">
<br/> 女 :
<input type="radio" value="1" name="sex">
<br/> 年纪:
<input type="text" value="" name="age">
<br/>
<input type="button" value="确认修改">
</form>
</div>
</div>
</div>
<script>
$(function () {
req()
function req() {
$.ajax({
url: 'http://zongcai/total.php',
dataType: 'json',
success: function (info) {
console.log(info);//打印服务端返回的数据(调试用)
$('#table').html(template('banner', { banner1: info }))
},
error: function (error) {
console.log(error);
}
})
}
add = function () {
}
del = function (option) {
var mymessage = confirm('确定要删除么')
if (mymessage == true) {
$.ajax({
url: 'http://zongcai/del.php',
data: { id: option },
dataType: 'json',
success: function (info) {
if (info) {
location.reload(true)
}//打印服务端返回的数据(调试用)
},
error: function (error) {
console.log(error);
}
})
}
else {
}
}
edit = function (option) {
var arr = []
$('td[data-id=' + option + ']').each(function (i, v) {
arr[i] = v.innerText
})
console.log(arr);
$('#form1 input[name=id]').val(arr[0])
$('#form1 input[name=username]').val(arr[1])
$('#form1 input[name=password]').val(arr[2])
$('#form1 input[name=address]').val(arr[3])
if (arr[4] == '男') {
$('#form1 input[value=0]').attr('checked', 'checked');
} else {
$('#form1 input[value=1]').attr('checked', 'checked');
}
$('#form1 input[name=age]').val(arr[5])
$('#form1 input[type=button]').click(function () {
$.ajax({
url: 'http://zongcai/update.php',
data: $('#form1').serialize(),
dataType: 'json',
success: function (info) {
console.log(info);//打印服务端返回的数据(调试用)
if(info){
$('#myModal').hide()
location.reload(true)
}
},
error: function (error) {
console.log(error);
}
})
console.log(
$('#form1').serialize()
);
})
}
search=function(){
$.ajax({
url: 'http://zongcai/search.php',
data: $('#form').serialize(),
dataType: 'json',
success: function (info) {
console.log(info);
document.getElementById("form").reset();
$('#table').html(template('banner', { banner1: info }))
},
error: function (error) {
console.log(error);
}
})
}
})
</script>
<script type="text/template" id="banner">
{{each banner1 v i}}
<tr id="tr" >
<td data-id="{{v.id}}" >{{v.id}}</td>
<td data-id="{{v.id}}" >{{v.username}}</td>
<td data-id="{{v.id}}" >{{v.password}}</td>
<td data-id="{{v.id}}" >{{v.address}}</td>
<td data-id="{{v.id}}" >{{v.sex==1?'男':'女'}}</td>
<td data-id="{{v.id}}" >{{v.age}}</td>
<td><a class="del" onclick="del({{v.id}})" data-id="{{v.id}}" href="#">删除</a>
/<a data-toggle="modal" data-target="#myModal" data-id="{{v.id}}" onclick="edit({{v.id}})" class="edit" href="#">修改</a></td>
</tr>
{{/each}}
</script>
</body>
</html>
添加在edit 编辑的
index.html 进入页面数据请求total.php
<?php
header('Content-Type: text/html;charset=utf-8');
header('Access-Control-Allow-Origin:*'); // *代表允许任何网址请求
header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); // 允许请求的类型
header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies
header('Access-Control-Allow-Headers: Content-Type,Content-Length,Accept-Encoding,X-Requested-with, Origin'); // 设置允许自定义请求头的字段
// exit;
//链接数据库
$link=mysqli_connect("zongcai","zongcai","zongcai");
// $arr=mysql_query('select * from products');
// var_dump($link);
// 判断是否链接成功
if(!$link){
exit("<li>连接MySQL数据库服务器失败!</li>");
}
// 设置字符集
mysqli_set_charset($link,'utf8');
// 选择数据库
mysqli_select_db($link,'zongcai');
// 准备sql语句
$arr = [];
$res='';
$sql="select * from user "; // 模糊查询
$res= mysqli_query($link,$sql);
while($result = mysqli_fetch_assoc($res)){
$arr[] = $result;
}
echo json_encode($arr);
// $status='1';
// echo json_encode($arr[0]);
// if (!empty($arr[0]) ){
// echo 'status: ' ."".'200';
// }else{
// echo "用户名或密码不正确";
// }
// echo json_encode($status);
删除 del.php
<?php
<?php
//delete from user where id=1
//第一步先要获取你要删除的id
$id = $_GET['id'];
//链接数据库
$link=mysqli_connect("zongcai","zongcai","zongcai");
// $arr=mysql_query('select * from products');
// var_dump($link);
// 判断是否链接成功
if(!$link){;
exit("<li>连接MySQL数据库服务器失败!</li>");
};
// 设置字符集
mysqli_set_charset($link,'utf8');
// 选择数据库
mysqli_select_db($link,'zongcai');
// 准备sql语句
// $sql="select * from user where username like '王%'"; // 模糊查询
// $sql="select * from user where username ='王宝强'"; // 模糊查询
$sql="delete from user where id=$id";
// SELECT UPDATE DELETE INSERT WHERE
// 发送sql语句
$boolean= mysqli_query($link,$sql);
// var_dump($boolean);
if($boolean && mysqli_affected_rows($link)){
// echo '删除成功 <a href="mysql.php">点击返回主页</a>';
echo json_encode('true');
}else{
echo '删除失败';
}
mysqli_close($link);
编辑 edit.php
<?php
<?php
$id = $_GET['id'];
//链接数据库
$link=mysqli_connect("zongcai","zongcai","zongcai");
// $arr=mysql_query('select * from products');
// var_dump($link);
// 判断是否链接成功
if(!$link){;
exit("<li>连接MySQL数据库服务器失败!</li>");
};
// 设置字符集
mysqli_set_charset($link,'utf8');
// 选择数据库
mysqli_select_db($link,'zongcai');
$sql="select * from user where id=$id"; // 模糊查询
// SELECT UPDATE DELETE INSERT WHERE
// 发送sql语句
$obj= mysqli_query($link,$sql);
// 梳理结果集
$rows =mysqli_fetch_assoc($obj);
var_dump($rows);
mysqli_close($link);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" media="screen" href="main.css" />
<script src="main.js"></script>
</head>
<body>
<form action="update.php">
<input type="hidden" value="<?php echo $id ;?>" name="id"> <br/> <!-- 为了 update.php?id=xxx -->
姓名: <input type="text" value="<?php echo $rows['username'] ;?>" name="username"> <br/>
密码: <input type="text" value="<?php echo $rows['password'] ;?>" name="password"> <br/>
地址: <input type="text" value="<?php echo $rows['address'] ;?>" name="address"> <br/>
性别: <input type="text" value="<?php echo $rows['sex'] ;?>" name="sex"><br/>
年纪: <input type="text" value="<?php echo $rows['age'] ;?>" name="age"><br/>
<input type="submit" value="执行修改">
</form>
</body>
</html>
编辑成功 点击 提交 代码 update.php
<?php
<?php
//第一步先要获取你要删除的id
$id = $_GET['id'];
$username = $_GET['username'];
$password = $_GET['password'];
$address = $_GET['address'];
$sex = $_GET['sex'];
$age = $_GET['age'];
echo $sex;exit;
//链接数据库
$link=mysqli_connect("zongcai","zongcai","zongcai");
// $arr=mysql_query('select * from products');
// var_dump($link);
// 判断是否链接成功
if(!$link){
exit("<li>连接MySQL数据库服务器失败!</li>");
}
// 设置字符集
mysqli_set_charset($link,'utf8');
// 选择数据库
mysqli_select_db($link,'zongcai');
// 准备sql语句
// $sql="select * from user where username like '王%'"; // 模糊查询
// $sql="select * from user where username ='王宝强'"; // 模糊查询
$sql="update user set username='$username', password='$password', address='$address', sex='$sex',age='$age' where id=$id "; // 修改 要是string
// SELECT UPDATE DELETE INSERT WHERE
// 发送sql语句
// echo $sql; //输出结果、
// die; //不执行下面代码
$obj= mysqli_query($link,$sql);
if($obj && mysqli_affected_rows($link)){
echo 'true';
}else{
echo '修改失败';
}
mysqli_close($link);
?>
后端吧数据接口输出
demo 插入一条数据返回所有数据
在发是发送请求是判断处理
<?php
// error_reporting(0);
// var_dump($_GET); 查看提交的信息
//$username = $_POST['username'];//post请求写法
$username = $_GET['username'];
$password = $_GET['password'];
$address = $_GET['address'];
$sex = $_GET['sex'];
$age = $_GET['age'];
//链接数据库
$link=mysqli_connect("zongcai","zongcai","zongcai");
// $arr=mysql_query('select * from products');
// var_dump($link);
// 判断是否链接成功
if(!$link){;
exit("<li>连接MySQL数据库服务器失败!</li>");
};
// 设置字符集
mysqli_set_charset($link,'utf8');
// 选择数据库
mysqli_select_db($link,'zongcai');
if (empty($username)) { /**************重点判断语句
$sql= "SELECT * FROM user";
$res= mysqli_query($link,$sql);
$arr = [];
while($result = mysqli_fetch_assoc($res)){
$arr[] = $result;
}
}else {
# code...
$sql="insert into user (username,password, address,sex,age) values( '$username','$password','$address','$sex','$age')"; // 模糊查询
$res= mysqli_query($link,$sql);
$id = mysqli_insert_id($link);
}
mysqli_close($link);
echo json_encode($arr); ****************重点输出语句
//echo $sql ;exit;
// SELECT UPDATE DELETE INSERT WHERE
// 发送sql语句
// echo $id ;exit;
// if($id){
// echo '添加成功 <a href="mysql.php">点击返回主页</a>';
// }else{
// echo '添加失败';
// }
查询数据 search.php
<?php
header("Content-Type: text/html;charset=utf-8");
error_reporting(0); //禁止错误输出
// header('Content-Type: text/html;charset=utf-8');
// header('Access-Control-Allow-Origin:*'); // *代表允许任何网址请求
// header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE'); // 允许请求的类型
// header('Access-Control-Allow-Credentials: true'); // 设置是否允许发送 cookies
// header('Access-Control-Allow-Headers: Content-Type,Content-Length,Accept-Encoding,X-Requested-with, Origin'); // 设置允许自定义请求头的字段
$username=$_GET['username'];
// exit;
//链接数据库
$link=mysqli_connect("zongcai","zongcai","zongcai");
// $arr=mysql_query('select * from products');
// var_dump($link);
// 判断是否链接成功
if(!$link){
exit("<li>连接MySQL数据库服务器失败!</li>");
}
// 设置字符集
mysqli_set_charset($link,'utf8');
// 选择数据库
mysqli_select_db($link,'zongcai');
// 准备sql语句
$arr = [];
$sql="select * from user where username ='$username'"; // 模糊查询
// echo $sql;exit;
$res= mysqli_query($link,$sql);
while($row = mysqli_fetch_assoc($res)){
$arr[] = $row;
}
// 有结果返回结果 无结果为[]
echo json_encode($arr);
文件上传 html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="https://ttl-cdns.wegames.com.tw/activity-index/js/jquery.min.js"></script>
<script src="./js/ajax.js"></script>
<style>
.box {
width: 400px;
margin: 0 auto;
}
img{
display: inline-block;
width: 100px;
/* height: 100px; */
border: 2px solid #ccc;
}
</style>
</head>
<body>
<form id="form1" enctype="multipart/form-data">
<input type="file" id="file" name="imgfile">
<input type="button" onclick="upload()" value="上传">
</form>
<img src="" alt="">
<script>
$(function () {
upload = function () {
var formData = new FormData();
var file = document.getElementById('file').files[0];
// var id_token = $('#id_token').val();
// formData.append("image", file);
// console.log(formData);
formData.append("image", file);
// formData.append("id", 1);
// console.log(formData.image);
$.ajax({
url: "http://zongcai/recpic.php",
type: "post",
data: formData,
dataType: "json",
cache: false,//上传文件无需缓存
processData: false,//用于对data参数进行序列化处理 这里必须false
contentType: false, //必须*/
success: function (data) {
console.log(data);
$('img').attr('src',data)
}
});
}
})
</script>
</body>
</html>
文件上传recpic.php 这里只处理了 实现 没有做限制
<?php
header('Access-Control-Allow-Origin:*'); // *代表允许任何网址请求
// var_dump($_FILES);
if ($_FILES["image"]["error"] > 0) {
echo "错误: " . $_FILES["image"]["error"] . "<br />";
}else{
// echo "上传文件名: " . $_FILES["image"]["name"] . "<br>";
// echo "文件类型: " . $_FILES["image"]["type"] . "<br>";
// echo "文件大小: " . ($_FILES["image"]["size"] / 1024) . " kB<br>";
// echo "路径 ; " . $_FILES["image"]["tmp_name"];
//保存临时文件到数据库中的 images文件下 没有先创建
move_uploaded_file($_FILES['image']['tmp_name'],'images/'.$_FILES['image']['name']);
// //链接数据库
$link=mysqli_connect("zongcai","zongcai","zongcai");
if(!$link){
echo '连接MySQL数据库服务器失败' ; exit;
}
mysqli_set_charset($link,'utf8');
// // // 选择数据库
mysqli_select_db($link,'zongcai');
// // // 准备sql语句
$path = 'images/'.$_FILES['image']['name'];
$sql="UPDATE userimg set src='http://zongcai/$path' where id=1 ";
$res=mysqli_query($link,$sql);
// echo $path;
// var_dump($res);
}
echo json_encode('http://zongcai/'.$path);
mysqli_close($link);
如果图片文件过大 >2M 可以设置一下
在php.ini里查找
max_execution_time
默认是30秒.改为
max_execution_time = 0
0表示没有限制
2. 修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。
php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.
查找 post_max_size .改为
post_max_size = 200M
3. 很多人都会改了第二步.但上传文件时最大仍然为 8M.
为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。
查找upload_max_filesize,默认为8M改为
upload_max_filesize = 200M
另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.
相关资源修改PHP上传文件大小限制的方法