(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. 6.3.4 新的_Bool类型

    如果把其他非零数值赋给_Bool类型的变量,该变量会被设置为1.这反映了C把所有的非零值都视为真. input_is_good = (scanf("%ld", &num) ...

  2. [UE4]Dynamic Entry Box

    Dynamic Entry Box:条目创建容器 一个特殊的容器,能够自动创建条目,在可变数量条目的时候,但是又不值得创建一个ListView或者Tile View. 注意: Dynamic Entr ...

  3. node-gyp和node-pre-gyp笔记

    node-gyp大家都不陌生,先不做赘述. node-pre-gyp,install命令可以将存在网络上的作者根据不同平台预编译好的二进制文件下载下来 因为项目需要,博主需要本地编译,而不是去网上下载 ...

  4. debug protractor

    HTAir:protractor-cucumber-typescript kbladewht$ node --inspect-brk=0.0.0.0:1229 node_modules/protrac ...

  5. 事务、事务特性、事务隔离级别、spring事务传播特性

    事务.事务特性.事务隔离级别.spring事务传播特性   1.什么是事务: 事务是程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功, ...

  6. Android 开发 创建WiFi、WiFi热点 ---开发集合

    WIFI 权限 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> < ...

  7. window.open() 打开的子页面 往主页面传参问题

    <!--主页面的代码--><!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  8. Android开发中常见的设计模式(三)——观察者模式

    先看下这个模式的定义. 定义对象间的一种一对多的依赖关系,当一个对象的状态发送改变时,所有依赖于它的对象都能得到通知并被自动更新 先来讲几个情景. 情景1:有一种短信服务,比如天气预报服务,一旦你订阅 ...

  9. spring 大会的启示

    1.事件驱动的微服务编程 2.无服务架构的编程模型 3.微服务缓存

  10. HttpWebResponse远程服务器返回错误: (500) 内部服务器错误 的解决办法

    在工作中用C#开发了一个小程序,不断访问去请求一个网站的页面,在循环过程中有时会报“远程服务器返回错误: (500) 内部服务器错误”,有时不会,出现的时机也不太一样.开始以为是网站的问题,后来网站是 ...