2021-03-16-PHP开发环境搭建及常用数据库操作

#PHP开发环境搭建及常用数据库操作

1. php开发环境搭建

使用的系统centos7

yum -y install httpd mariadb mariadb-server php php-mysql

在这里插入图片描述
安装成功后
在这里插入图片描述
开启apache和mariadb服务并配置mysql数据root用户账户密码登录mysql

systemctl start httpd
systemctl start mariadb
mysqladmin -u root password “123456”
mysql -u root -p123456

在这里插入图片描述
测试php网页是否正常

vim /var/www/html/test.php
<?php
phpinfo();
?>

然后再浏览器输入网站http://192.168.1.111/test.php(这里的ip是自己centos的ip,后面的不同是因为我的ip后面变动了)
在这里插入图片描述

1.1php连接mysql数据库

cd /var/www/html
vim conn.php
<?php
$result=mysql_connect(‘host’,’root’,’123456’);
if($result){
echo”connection success”;
}else{
echo”connection fail”;
}
?>

保存后退出
在这里插入图片描述
在这里插入图片描述
登录http://192.168.1.111/conn.php查看
在这里插入图片描述
补充:连接mysql数据库
语法:mysql_connect(db_host:db_port,db_user,db_pwd) 说明: mysql_connect 是 MySQL 的函数,打开一个 MySQL 连接 db_host 要连接的数据库服务器的地址 db_port 数据库服务器的端口,默认 3306,可以不写,不写就是默认的端口 db_user 数据库的用户名 db_pwd 数据库的密码 如果连接成功,则返回一个 MySQL 连接标识,失败则返回 FALSE。

设置编码和要使用的数据库

vim conn.php
mysql_query(“set names ‘utf8’”);
$select_db = mysql_select_db(“mysql”);
if(!$select_db){
echo”cant connect to this database:\n. mysql_error();
}
else{
echo”nothing”;
}

在这里插入图片描述
输入网站访问,成功
在这里插入图片描述

2. 创建一个数据表,并练习增删改查各一遍

2.1创建一个数据库

进入mysql

mysql -uroot -p123456

创建一个数据库
在这里插入图片描述
进入刚刚创建的库创建一个表并查看表的结构
在这里插入图片描述
由于是刚刚创建的还未有任何数据
在这里插入图片描述

2.2编写php代码插入数据

语法:insert [into] 表名 [(字段名 1,字段名 2,…)] values (值表达式 1,值表达式 2,…), (…), …;这是最常用的插入语句,可以一次性插入多行数据,用逗号隔开; 插入语句,要理解为每次插入数据都是以“行”为单位进行插入。 字段名通常不推荐省略,其后续的“值列表”应该跟字段名列表“一一对应”; 其中的值表达式,可以是一个“直接”,或“函数调用结果”,或变量值;其中,如果对应字段是字符 或时间类型,则直接值应该使用单引号;

<?php
        $result = mysql_connect('localhost','root','123456');
        if($result){
                echo"database success!<br/>";
        }else{
                echo"database fail!<br/>";
        }
        mysql_query("set names 'utf8'");
        $select_db = mysql_select_db("My_sql");
        if(!$select_db){
                echo"cant connect to the database:\n<br/>". mysql_error();
        }
        $sql = "insert into users(id,username,password) values(1,'root','123456'),(2,'halala','666'),(3,'kawayio','1314')";
        $result = mysql_query($sql);
        if($result){
                echo"database insert success!<br/>";
        }else{
                echo"database insert fail!<br/>";
        }

?>

在这里插入图片描述
浏览器搜索查看是否插入成功
在这里插入图片描述
查看数据库数据情况,可以看到刚刚的三条数据插入成功
在这里插入图片描述

2.3编写php代码删除数据

语法:delete from 表名 【where 条件】; 说明: 1),删除数据仍然是以“行”为单位进行; 2),通常删除数据都需要带 where 条件,否则就会删除所有数据(这很不常见);

复制conn.php文件为delete,编写php代码

cp conn.php delete.php
vim delete.php

<?php
        $result = mysql_connect('localhost','root','123456');
        if($result){
                echo"database success!<br/>";
        }else{
                echo"database fail!<br/>";
        }
        mysql_query("set names 'utf8'");
        $select_db = mysql_select_db("My_sql");
        if(!$select_db){
                echo"cant connect to the database:\n<br/>". mysql_error();
        }
        $sql = "delete from users where id in ('1','3')";
        $result = mysql_query($sql);
        if($result){
                echo"database delete success!<br/>";
        }else{
                echo"database delete fail!<br/>";
        }
?>

在这里插入图片描述
在浏览器上访问,删除2,3行数据
在这里插入图片描述
查看数据库数据
在这里插入图片描述
删除数据成功

2.4 更改数据

语法:update 表名 set 字段 1=值 1 字段 2=值 2,… 【where 条件】;

编写php将My_new数据库id为1,3的password都改成hhh
将conn.php复制成update.php
在这里插入图片描述

<?php
        $result = mysql_connect('localhost','root','123456');
        if($result){
                echo"database success!<br/>";
        }else{
                echo"database fail!<br/>";
        }
        mysql_query("set names 'utf8'");
        $select_db = mysql_select_db("My_sql");
        if(!$select_db){
                echo"cant connect to the database:\n<br/>". mysql_error();
        }
        $sql = "update users set password = 'hhh' where id in ('1','3')";
        $result = mysql_query($sql);
        if($result!=false){
                echo "database update success!<br/>";
        }else{
                echo "database update fail!<br/>";
        }

?>

在这里插入图片描述
这里由于上个步骤吧id为1,3的数据删除了,这里再次用第一次的插入代码再次插入id为1,2,3,的数据

在浏览器访问
在这里插入图片描述
查询数据,更改成功
在这里插入图片描述

3. 以books表为例,分别练习where,limit,order by 的使用方法

语法:select 字段或表达式列表 [from 子句] [where 子句] [order by 子句] [limit 子句]; 字段或表达式列表
1),字段,自然是来源于“表”,则其必然依赖于 from 子句; 2),表达式是类似这样一个内容:8, 8+3, now(),concat()函数是 mysql 中的系统函 数,用于“连接”多个字符串;
3),每个“输出项”(字段或表达式结果),都可以给其设定一个“别名”(字段别名)形式为: 字段或表达式 as 别名;设置别名,实际上,表的字段并没有改变,而只是改变了“结果集”的字 段名; from 子句 from 子句表示 select 部分从中“取得”数据的数据源——其实就是表。
where 子句 说明:
1),where 子句就是对 from 子句中的“数据源”中的数据进行筛选的条件设定,筛选的机制是 “一行一行进行判断”,其作用,几乎就跟各种语言中 if 语句的作用一样。
2),where 子句依赖于 from 子句;
3),where 子句中,通常都需要使用各种“运算符”; 算术运算符: + - * / % 比较运算符: > >= < <= =(等于) < >(不等于) ==(等于) !=(不 等于) 逻辑运算符: and or not 4),对 where 子句的更进一步理解: where true 取出全部记录 where false 不取出任何记录 order by 子句 它用于将前面“取得”的数据以设定的标准(字段)来进行排序以输出结果。 形式:
order by 字段 1 【asc|desc】, 字段 2 【asc|desc】,… 说明:
1),对前面的结果数据以指定的一个或多个字段排序;
2),排序可以指定正序(asc,默认值)或倒序(desc);
3),多个字段的排序,都是在前一个字段排序基础上,如果还有“相等值”,才继续以后续字段排 序;
limit 子句 含义: 它用于将“前述取得的数据”,按指定的行取出来:从第几行开始取出多少行;
limit 起始行号,要取出的行数; 说明:
1,起始行号都是从 0 开始算起的;
2,起始行号跟数据中的任何一个字段(比如 id)没有关系;
3,要取出的行数也是一个数字,自然应该是大于 0 的;
4,有一个简略形式:limit 行数; 表示直接从第 0 行开 始 取出 指定的行数,它相当于 limit 0, 行数;

使用xshell上传books.sql
在这里插入图片描述
进入数据库导入数据
在这里插入图片描述
在这里插入图片描述
编写代码

<?php
        $result = mysql_connect('localhost','root','123456');
        if($result){
                echo"database success!<br/>";
        }else{
                echo"database fail!<br/>";
        }
        mysql_query("set names 'utf8'");
        $select_db = mysql_select_db("My_sql");
        if(!$select_db){
                echo"cant connect to the database:\n<br/>". mysql_error();
        }
        $sql = "select bName,publishing,price,pubDate,author from books where publishing='清华大学>出版社'";
/*
拼接查询语句,要显示的图书名称、出版社、价格、出版日期和作者对应的字段分别是:
bName,publishing,price,pubDate,author,select 后面写要查询的字段,from 从 books 表中查询,where 是>
条件,查询清华大学出版社出版的图书,publishing 字段存储的是出版社,所以通
过这个字段限定条件 where publishing='清华大学出版社',注意字符串要用单引号引起来。
*/
        $result = mysql_query($sql);
//使用 mysql_query 函数执行上面拼接的 SQL 语句,得到一个结果存储在变量$result 中
//结果$result 是记录集,相当于一张表格
        while($row = mysql_fetch_array($result)){
                 echo $row['bName']."====".$row['publishing']."====".$row['price']."====".$row['pubDate']."====".$row['author']."<br/>";
//依次循环从$result 记录集中取出每行记录存储到变量$row(是一个一维数组,里面的数据都是键值对的形式>
)中,如果有数据的话,就会执行输出显示。
//四个=号,这里是为了将各个数据分隔开,当然使用其他字符也可以,实际开发中,会将每个字段的内容放到表
格里或者标签中,通过 CSS 样式美化下,可以使显示的效果体验更好。
        }

?>

在这里插入图片描述
在这里插入图片描述
样例2:

<?php
        $result = mysql_connect('localhost','root','123456');
        if($result){
                echo"database success!<br/>";
        }else{
                echo"database fail!<br/>";
        }
        mysql_query("set names 'utf8'");
        $select_db = mysql_select_db("My_sql");
        if(!$select_db){
                echo"cant connect to the database:\n<br/>". mysql_error();
        }
        $sql = "select bName,publishing,price,pubDate,author from books where publishing='清华大学>出版社' order by price limit 3";
        $result = mysql_query($sql);
        while($row = mysql_fetch_array($result)){
                echo $row['bName']."====".$row['publishing']."====".$row['price']."====".$row['pubDate']."====".$row['author']."<br/>";
        }
?>

在这里插入图片描述
在这里插入图片描述
样例3:

<?php
        $result = mysql_connect('localhost','root','123456');
        if($result){
                echo"database success!<br/>";
        }else{
                echo"database fail!<br/>";
        }
        mysql_query("set names 'utf8'");
        $select_db = mysql_select_db("My_sql");
        if(!$select_db){
                echo"cant connect to the database:\n<br/>". mysql_error();
        }
        $sql = "select bName, price from books where publishing='人民邮电出版社' and author= '刘刚' ";
        $result=mysql_query($sql);
        while($row = mysql_fetch_array($result)){
                echo $row['bName']."====".$row['price']."<br/>";
        }
?>

在这里插入图片描述
在这里插入图片描述

																							2021.3.16 .23:29 完成
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值