Advertisement

PHP教程第四节:PHP与数据库

阅读量:

有关PHP运行环境的配置、开发工具的选择以及基础操作方法,可参考此前发布的几篇技术博客内容。

本节主要记录以下三个方面的内容:

  1. PHPMyAdmin的基础操作方法
  2. PHP语言连接数据库及其简单应用
  3. 白鹭引擎与数据库的连接方式

本次所使用的数据库为Wampserve集成的MySQL系统。

在桌面任务栏的右下角找到Wampserve的图标并点击,即可进入PHPMyAdmin界面。

若此前未曾进行过名称修改操作,则默认账户为root,且初始状态下未设置密码

随后进行数据库的进入操作,首要任务是建立新的数据库,此时应点击“新建”按钮

接下来需要建立数据表,关键步骤我已经用重点标出。首先打开数据库,选择结构选项,为你的数据表命名,随后点击执行按钮(界面为全屏显示,执行按钮位于最右侧)。

接下来在字段设置部分,我们需要定义两个属性,分别为标识符和名称,随后进行存储操作。

在此处我们添加一个数据点,进行插入操作

操作已顺利完成

随后,在sql这一分类标签中,用户可以输入一些mysql相关的指令语句。

插入操作:INSERT INTO demo (id, name) VALUES ('001', '小王');(用于向表中添加一条id为007、名字为小王的记录)

删除操作:DELETE FROM demo WHERE id=007;(用于移除id为007的记录)

更新操作:UPDATE demo SET id=005,name="大王" WHERE id=007;(用于将id为007的记录的id修改为005,姓名更改为大王)

查询操作:SELECT * FROM demo WHERE 1;(用于检索demo表中的全部数据)

phpmyAdmin工具依然具有较高的实用性,其界面下方排列着一系列便捷的操作按钮,支持快速完成数据的增加、删除、修改与查询等基本功能。

数据库的导出过程:

phpmyAdmin的基础操作记录至此为止。

接下来介绍php与数据库的连接方式。

启动php环境,将之前准备好的数据库文件拖入目标位置,随后依次确认即可完成操作。

生成php文件sqldemo并插入相关代码

1.建立与数据库的连接

2.指定需要操作的数据表

3.执行数据库相关操作

4.断开数据库连接

复制代码
 <?php

    
 /** * Created by PhpStorm.
    
  * User: Administrator
    
  * Date: 2018/6/6
    
  * Time: 17:01
    
  */
    
 //1.链接数据库
    
 //2.选择数据表
    
 //3.数据库操作
    
 //4.关闭链接
    
   13. //1. 链接数据库 选择数据表
    
 $conn=mysqli_connect("localhost","root","","mysqldemo");
    
 //判断链接
    
 if(!$conn){
    
     echo "链接失败 错误代码".mysqli_connect_errno()."错误信息:".mysqli_connect_error()."<br />";
    
 }else{
    
     echo "链接数据库成功<br />";
    
 }
    
   22. //mysqli_select_db($conn,"php02"); 选择数据库
    
 //2.设置字符集
    
 mysqli_set_charset($conn,"utf8");
    
   26. //3.数据库操作(增删改查)
    
 //增
    
 $sql="INSERT INTO admin  VALUES (2,'添加红桃')";
    
 $result = mysqli_query($conn,$sql);
    
 if($result){
    
     echo "新增数据成功<br />";
    
 }else{
    
     echo "新增数据失败 ,原因:".mysqli_error($conn);
    
 }
    
 //改
    
 $sql ="UPDATE admin set name='修改黑桃' where id = 2";
    
 $result = mysqli_query($conn,$sql);
    
 if($result){
    
     echo "修改数据成功<br />";
    
     echo "受影响行数:".mysqli_affected_rows($conn).'<br />';//受影响行数
    
 }else{
    
     echo "修改数据失败 ,原因:".mysqli_error($conn).'<br />';
    
 }
    
 echo mysqli_affected_rows($conn);//受影响行数
    
   46. //查
    
 $sql="SELECT * FROM `admin` WHERE 1";
    
 $result = mysqli_query($conn,$sql);
    
 while ($row=mysqli_fetch_assoc($result)){
    
     echo "ID:".$row["id"],'   名字:'.$row["name"].'<br />';
    
 }
    
 //删
    
 $sql ="DELETE FROM admin where id=2";
    
 $result = mysqli_query($conn,$sql);
    
 if($result){
    
     echo "删除数据成功<br />";
    
     echo "受影响行数:".mysqli_affected_rows($conn).'<br />';//受影响行数
    
 }else{
    
     echo "删除数据失败 ,原因:".mysqli_error($conn).'<br />';
    
 }
    
   62.   63. //释放结果集  关闭数据库
    
 //mysqli_free_result($result);//查询时会用到
    
 mysqli_close($conn);
    
    
    
    

接下来我们介绍白鹭如何连接数据库

若已阅读前一章节的博客内容,则整体思路将变得清晰明了

1.首先在白鹭平台中,将数据传输至PHP端

2.PHP接收数据后,将其传递至数据库

3.白鹭从数据库获取数据的过程与此类似

第一步:在白鹭平台中,将数据发送至PHP端。此时需要打开白鹭项目,并通过POST方法向PHP发送一个随机生成的id和name参数

在白鹭的main.ts脚本中,需将原有的createGameScene()函数内容进行清除,并替换为如下代码

复制代码
   protected createGameScene(): void

    
     {
    
   
    
      this.POSTRequestHTTP();
    
      
    
     }
    
     //发送POST请求(建议使用这个 无数据长度限制 密文发送)
    
 	private POSTRequestHTTP(){
    
 		var request = new egret.HttpRequest();
    
 		request.responseType = egret.HttpResponseType.TEXT;
    
 		//发送 POST 请求. 需要注意的是发送 POST 请求需要将参数放到send方法的参数中发送出去
    
 		request.open("http://localhost/php/demo.php",egret.HttpMethod.POST);//请求地址 请求类型post
    
 		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    
     let random = Math.random()*100;
    
     var params = "id="+random+"&name=后羿"+random;
    
 		request.send(params);
    
 		//request.send();
    
 		request.addEventListener(egret.Event.COMPLETE,this.onGetComplete,this);
    
 		request.addEventListener(egret.IOErrorEvent.IO_ERROR,this.onGetIOError,this);
    
 		request.addEventListener(egret.ProgressEvent.PROGRESS,this.onGetProgress,this);
    
  
    
 	}
    
 	//完成监听
    
 	private onGetComplete(event:egret.Event):void {
    
     var request = <egret.HttpRequest>event.currentTarget;
    
     console.log("获取数据: ",request.response);
    
     }
    
 	//异常监听
    
     private onGetIOError(event:egret.IOErrorEvent):void {
    
     console.log("异常监听 get error : " + event);
    
     }
    
 	//加载进度
    
     private onGetProgress(event:egret.ProgressEvent):void {
    
     console.log("加载进度get progress : " + Math.floor(100*event.bytesLoaded/event.bytesTotal) + "%");
    
     }
    
    
    
    

然后在php文件中 注意我的路径是白鹭需要访问的路径

request.open("http://localhost/php/demo.php",egret.HttpMethod.POST);//请求地址

随后执行白鹭程序,在调试过程中会出现如下提示:Unknown column '' 后羿 'field list'。产生这一问题的原因在于char类型的数据需要添加单引号符号,对此我们需要对php代码进行相应的调整。

随后执行即可正常运作

接下来对数据库进行查看

填入完毕,这属于一个新增功能的示例。删除、修改与查询操作均遵循相同逻辑,不妨自行尝试一番。

最终结果

全部评论 (0)

还没有任何评论哟~