# PHP学习(二) php与mysql

# mysql基础sql命令

# 显示数据库

shwo databases;
1

# 创建数据库并设置字符集

create database if not exists 数据库名 default charset utf8 collate utf8_general_ci;
1

# 选中数据库

use database;
1

# 创建数据表

create table `数据库名`,`数据表名`(
    `字段名` 类型  是否非空 自动增长  注释
);
1
2
3

# 查询语句

查所有    select * from 表名
条件查    select * from 表名 where 字段名 = 值;
1
2

# 修改语句

update 表名 set 属性 = 值 where 属性 =  值
1

# 删除语句

delete from 表名 where 属性 = 值;
1

# count函数---查数量

select count(*) from 表名 where 字段名 = 值;
1

# min函数---求最小值

SELECT min(`字段名`) FROM `表名` WHERE 1
1

# max函数---求最大值

SELECT max(`字段名`) FROM `表名` WHERE 1
1

# sum函数---求和

SELECT sum(`字段名`) FROM `表名` WHERE 1
1

# sqrt函数---求平方根

SELECT sqrt(`字段名`) FROM `表名` WHERE 1
1

# first函数---符合条件的第一个

SELECT first(*) FROM `表名` WHERE 1
1

# last函数---符合条件的最后一个

SELECT last(*) FROM `表名` WHERE 1
1

# len函数---求长度

SELECT len(*) FROM `表名` WHERE 1
1

# now函数---显示当前的时间

select now();
1

# rand函数---得到一个随机数

select rand();
-- 可以通过乘一个数达到想要的范围
select rand() *100;
1
2
3

# concat函数---拼接字符串

select concat('AAA','BBB');
1

# 条件查询where子句

范围查询

1、select * FROM 表名 where 字段名 >= '2002-01-01' AND 字段名 <= '2004-01-01';
2、select * from 表名 where 字段名 between '2002-01-01' and '2004-01-01'
                between--and:在谁和谁之间
1
2
3

筛选查询

select * from 表名 where 字段名 like '%王%'
1

# 排序

select * from 表名 order by 字段名 ASC;  默认正序排序 ASC(可被省略)
select * from 表名 order by 字段名 DESC;  逆序排序  DESC
1
2

# 多表联查

select 表1字段名,表2字段名 from 表1,表2 where 表1字段名 = 表2字段名
1

# php与mysql连接


# 连接数据库

mysqli_connect(servername,username,password);

servername: 可选,规定要连接的服务器,默认为:“localhost:3306” username: 可选,规定登录使用的用户名。默认值是拥有服务器进程的用户名称。 password:可选,规定登录所用的密码,默认是“”

<?php
$con = mysqli_connect("localhost","root","");
if (!$con) {
    die('Could not connect: ' .mysqli_error($con));
} else {
    echo 'success';
}
mysqli_close($con);
?>
1
2
3
4
5
6
7
8
9

# 选择指定的数据库

mysqli_select_db($con, 'phplesson');
1

# 设置存储编码

设置utf-8编码

mysqli_set_charset($con,"utf8");
1

# 执行SQL语句

$sql = "DELETE FROM `news` WHERE `newsid` = 1;";
$result = mysqli_query($con, $sql);
1
2

# 前后联调demo

# 前端输入数据提交,后台存入数据库

前端页面,表单提交数据

<!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>新闻管理系统</title>
</head>
<body>
    <form action="mysql1.php">
        <p>
            <label for="newstitle">新闻标题</label>
            <input type="text" id="newstitle" name="newstitle">
        </p>
        <p>
            <label for="newsimg">图片地址</label>
            <input type="text" id="newsimg" name="newsimg">
        </p>
        <p>
            <label for="newscontent">新闻内容</label>
            <textarea  id="newscontent" name="newscontent" cols="30" rows="10"></textarea>
        </p>
        <p>
            <label for="addtime">新闻时间</label>
            <input type="date" id="addtime" name="addtime">
        </p>
        <p>
            <input type="submit" value="提交">
            <input type="reset" value="重置">
        </p>
    </form>
</body>
</html>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

后台php程序,接受数据并插入到数据库

<?php
$con = mysqli_connect("localhost","root","");
header("Content-type: text/html; charset=utf-8");
if (!$con) {
    die('Could not connect: ' .mysqli_error($con));
} else {
    mysqli_select_db($con, 'phplesson');
    //从前端传来数据存储到数据库
    $newstitle = $_REQUEST["newstitle"];
    $newsimg = $_REQUEST["newsimg"];
    $newscontent = $_REQUEST["newscontent"];
    $addtime = $_REQUEST["addtime"];
    $sql = "INSERT INTO `news`(`newstitle`, `newsimg`, `newscontent`, `addtime`) VALUES ('".$newstitle."','".$newsimg."','".$newscontent."','".$addtime."');";
    mysqli_set_charset($con,"utf8");
    $result = mysqli_query($con, $sql);
    if (!$result) {
        die('Error:'.mysqli_error($con));
    } else {
        echo 'success';
    }
}
mysqli_close($con);
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 查询数据

将查询的数据转成json格式输出

<?php
$con = mysqli_connect("localhost","root","");
header("Content-type: text/html; charset=utf-8");
if (!$con) {
    die('Could not connect: ' .mysqli_error($con));
} else {
    mysqli_select_db($con, 'phplesson');
    $sql = "SELECT * FROM `news`";
    mysqli_set_charset($con,"utf8");
    $result = mysqli_query($con, $sql);
    $arr = array();
    while ($row = mysqli_fetch_array($result)) {
        array_push($arr,array("newstitle"=>$row['newstitle'],"newsimg"=>$row['newsimg']));
    }
    $result = array("errcode"=>0,"result"=>$arr);
    echo json_encode($result);
}
mysqli_close($con);
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
更新时间: 11/8/2019, 4:51:43 PM