(1)复习:自定义函数

(2)调用PHP预定义的函数——访问MySQL数据库

1.函数的基础概念

  定义一个简单的函数:

function  函数名( ){

#函数主体

}

 调用/运行一次函数:

函数名( );

  

 

  定义带运行参数的函数:形式参数

function  函数名( $变量名1, $变量名2, ... ){

#函数主体

}

 调用/运行一次函数:实际参数

函数名( 值1, 值2, ... );

 

  定义有返回值的函数:

function  函数名( $变量名1, $变量名2, ... ){

#函数主体

return  值 ;     #返回函数的计算结果

}

 调用/运行一次函数:

$变量 = 函数名( 值1, 值2, ... );  #接收函数的返回值

练习:创建函数 getSum($n1, $n2, $n3),计算这三个数的和,返回计算结果。

练习:创建函数 getAvg($n1, $n2, $n3),计算这三个数的平均值,返回计算结果。

试着调用上述函数

函数总结:如何定义/调用?什么是参数?什么是返回值?

2.MySQL的客户端工具

(1)命令行工具:  mysql.exe

(2)网页版本工具:   phpMyAdmin

使用方法:启动Apache,启动MySQL,打开浏览器,在地址栏中输入http://127.0.0.1/phpmyadmin即可使用此客户端工具

3.使用PHP连接数据库服务器

提示:步骤与命令行工具连接MySQL服务器是一样的

(1)连接到MySQL服务器

mysqli_connect( ... )

(2)提交SQL语句给MySQL服务器执行

mysqli_query( ... )

(3)查看返回的执行结果

(4)关闭到MySQL服务器的连接

mysqli_close( ... )

4.学子商城项目:用户模块 —— 基于单表的CRUD

CRUD: Create / Retrieve / Update / Delete 增删改查

用户模块需要的功能点:

(1)用户注册 —— INSERT

(2)修改用户信息 —— UPDATE

(3)用户删除 —— DELETE

(4)用户登录 —— SELECT(一条)

(5)用户列表 —— SELECT(多条)

5.完成学子商城用户模块 —— 用户登录功能点

(0)创建服务器端页面user_register.php,用户访问此页面,提交注册信息

(1)编写PHP页面,读取客户端提交的请求数据:uname、upwd、email、phone。

(2)使用PHP连接MySQL服务器。

(3)向MySQL服务器提交一条INSERT语句。

(4)根据SQL语句执行结果,向客户端输出“注册成功/失败”。

PHP小知识:如何屏蔽一行代码产生的警告信息输出?

@代码内容;            在代码之前添加一个@符号

PHP小技巧:如何终止页面的执行?

die( ) ;

die('终止执行的原因说明');

PHP背景知识:

mysql_xxx():早期提供的一套函数

mysqli_xxx():Improved,提升版/改进版/性能优化版

小知识:获取刚执行的INSERT语句在数据库中产生的自增编号

$id = mysqli_insert_id( $conn ) ;

6.完成学子商城用户模块 —— 用户删除功能点

(0)创建服务器端页面user_delete.php,用户访问此页面,提交要删除的用户的编号

(1)编写PHP页面:读取客户端提交的请求数据:uid

(2)使用PHP连接MySQL服务器。

(3)向MySQL服务器提交一条DELETE语句。

(4)根据SQL语句执行结果,向客户端输出“删除成功/失败”。

小知识:获取刚刚执行增删改语句影响的行数

$num = mysqli_affected_rows($conn);

7.完成学子商城用户模块 —— 修改个人信息功能点

(0)创建服务器端页面user_update.php,用户访问此页面,提交要修改的用户的编号、修改后的真实姓名、性别、邮箱、电话

(1)编写PHP页面:读取客户端提交的请求数据:uid、user_name、gender、email、phone

(2)使用PHP连接MySQL服务器。

(3)向MySQL服务器提交一条UPDATE语句。

(4)根据SQL语句执行结果,向客户端输出“修改成功/失败”。

PHP-预定义函数访问数据库的更多相关文章

  1. PHP-自定义数组-预定义数组-自定义函数-预定义函数

    (1)自定义数组 —— 项目中的重点 (2)PHP预定义数组 —— 重点&难点 (3)自定义函数 —— 了解 (4)PHP预定义函数 —— 项目中的重点 1.自定义数组 数组:array,一个 ...

  2. Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216  java c# php js.docx

    Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216  java c# php js.docx 1.1. 预定义函数 魔术方法 魔术函数是什么1 1.2. & ...

  3. javascript 函数初探 (二)--- 那些年的预定义函数

    javascript的预定义函数: javascript引擎中有一组可以随时调用的内建函数. 这些内建函数包括: 1. parseInt() 2. parseFloat() 3. isNaN() 4. ...

  4. STL算法设计理念 - 预定义函数对象

    预定义函数对象基本概念:标准模板库STL提前定义了很多预定义函数对象 1)使用预定义函数对象: #include <iostream> #include <cstdio> #i ...

  5. Java8学习笔记(二)--三个预定义函数接口

    三个函数接口概述 JDK预定义了很多函数接口以避免用户重复定义.最典型的是Function: @FunctionalInterface public interface Function<T, ...

  6. C++STL 预定义函数对象和函数适配器

    预定义函数对象和函数适配器 预定义函数对象基本概念:标准模板库STL提前定义了很多预定义函数对象,#include <functional> 必须包含. 1使用预定义函数对象: void ...

  7. JavaScript内置的预定义函数

    javascript引擎中有一组可供随时调用的内建函数.这些内建函数包括 parseInt()  将收到的任何输入值转换成整数类型输出,如果转换失败,返回NaN parseFloat() 功能基本与p ...

  8. 【摘录自MDN】预定义函数

    JavaScript语言有好些个顶级的内建函数: eval() eval()方法会对一串字符串形式的JavaScript代码字符求值. uneval()  uneval()方法创建的一个Object的 ...

  9. javascript 预定义函数

    parseInt() parseFloat() isNaN() isFinite() encodeURI() decodeURI() encodeURIComponent() decodeURICom ...

随机推荐

  1. [ExcelHome]15个常用的Excel函数公式,拿来即用

    微软最有价值专家(MVP)祝洪忠分享15个模式化的表格公式,大家有类似问题可以直接套用. 首先声明,我这个可称不上是什么公式大全,就是给各位新人朋友们入门学习的,高手请按返回键. 1.查找重复内容 = ...

  2. eclipse中配置MAVEN并使用阿里云代理

    一.下载MAVENhttp://maven.apache.org/download.cgi 二.配置MAVEN环境变量名:M2_HOME变量值:F:\maven\apache-maven-3.0.3找 ...

  3. Emscripten 安装和使用

    OS: Windows 10 x64 I. install 0. pre install Python2.7 Node js Java 1. down git clone https://github ...

  4. Vue-cli3.0开发笔记

    安装 npm install -g @vue/cli # OR yarn global add @vue/cli 版本为3.X vue --version 创建项目 vue create hello- ...

  5. Vue 封装的loading组件

    <template> <div class="loadEffect"> <span></span> <span>< ...

  6. cookies的常见方式

    cookie有如下特点 保存在客户端,一般由浏览器负责存储在本地. 通常是加密存储的,不过由于存储在本地,很难保证数据不被非法访问,并不怎么安全,所以cookies中不宜保存敏感信息,如密码等. 哪些 ...

  7. JDK1.7 高并发下的HashMap

    HashMap的容量是有限的.当经过多次元素插入,使得HashMap达到一定饱和度时,Key映射位置发生冲突的几率会逐渐提高. 这时候,HashMap需要扩展它的长度,也就是进行Resize. 影响发 ...

  8. RestExpress response中addHeader 导致stackOverflow

    问题描述: 最近在项目使用中要在restExpress的header中增加一个键值对,同事在使用的时候没有对header的value进行非空判断,于是在测试环境测试的时候就出现了一个异常

  9. python中类与对象及其绑定方法的定义

    面向对象编程 什么是面向对象? 面向过程:将需要解决的问题按步骤划分,一步一步完成每一个步骤,而且          步骤之间有联系. 优点:复杂问题可以分步完成 缺点:扩展性很差,维护性差.如果中间 ...

  10. K8s之配置文件kubeconfig生成

    在开启了 TLS 的集群中,每当与集群交互的时候少不了的是身份认证,使用 kubeconfig(即证书) 和 token 两种认证方式是最简单也最通用的认证方式. 以kubectl为例介绍kubeco ...