php 定义函数和访问,PHP-预定义函数访问数据库
(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 定义函数和访问,PHP-预定义函数访问数据库相关推荐
- f ajax event,f:ajax onevent不能使用预定义函数,但可以使用内联函数
我有一个,它提交一个表格.f:ajax onevent不能使用预定义函数,但可以使用内联函数 render=":tblProject" /> 它的工作原理也是应该的,但是当我 ...
- matlab 函数 未定义,matlab一直说我未定义函数或变量x怎么办?
你有没有给x赋值?没有的话,函数g(x)没法调用参数x就出错了.例如试试:12x = 1:10;g(x)www.mh456.com防采集. 首先你这个函数写的是2113没问题,我感觉你的5261基础不 ...
- 二进制“<”:“const _Ty”不定义该运算符或到预定义运算符可接收的类型的转换
本人遇到该问题是在使用spdlog日志类和opencv一起编译的时候,情况是spdlog的静态库是由vs2019编译的,我用vs2017的项目使用的时候发生的,报错的位置在里,网上很多说是是std的m ...
- php中add函数,php中addslashes()和addclashes()函数的区别分析
1,addcslashes 函数 PHP String 函数 定义和用法 addcslashes() 函数在指定的字符前添加反斜杠. 语法 addcslashes(string,characters) ...
- PostgreSQL 10.1 手册_部分 II. SQL 语言_第 9 章 函数和操作符_9.4. 字符串函数和操作符...
9.4. 字符串函数和操作符 9.4.1. format 本节描述了用于检查和操作字符串值的函数和操作符.在这个环境中的串包括所有类型character.character varying和text的 ...
- android函数未定义,未捕获的ReferenceError:尝试访问Android时未定义函数webview
我在Android中使用WebView.我使用loadDataWithBaseURL加载以下网址:未捕获的ReferenceError:尝试访问Android时未定义函数webview (这里我用 & ...
- C语言 —— 预定义符号__FILE____LINE___func__(编写调试函数printf , debug)
C的预定义符号: __FILE__ __LINE__ __func__ 测试代码:在文件 line.c 中 1 #include <stdio.h>2 int main()3 {4 pri ...
- php的实体字符表,php htmlspecialchars_decode() 函数把预定义的 HTML 实体转换为字符
定义和用法 htmlspecialchars_decode() 函数把预定义的 HTML 实体转换为字符. 会被解码的 HTML 实体是: & 解码成 & (和号) " 解码 ...
- ANSI C and Microsoft C++中常用的预定义宏以及 宏定义中 # 和 ## 的区别
ANSI C and Microsoft C++中常用的预定义宏以及 宏定义中 # 和 ## 的区别 第一部分,常见的预定义宏 第二部分,# 和 ## 再宏定义中的使用说明 第三部分,类似 #prag ...
- php 魔术函数,PHP魔术函数、魔术常量、预定义常量
一.魔术函数(13个) 1.__construct() 实例化对象时被调用, 当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用. 2.__des ...
最新文章
- AI一分钟 | Google因跟踪用户数据接受调查;iPhone XS真机图曝光
- C语言scanf fgets,C语言中输入函数(scanf()、fgets()和gets())的区别详解
- 《编写有效用例》导读书评——“Jolt大奖精选丛书”有奖征文
- 剑指offer:扑克牌的顺子问题
- Java就业前景怎么样?值得学吗?
- python适配器模式角色_python设计模式-适配器模式
- php备份mysql页面_如何用PHP的页面备份、恢复Mysql数据库_php
- 快手上市首日涨近161% 两大创始人身家破千亿
- jsp 如何动态给图片赋值_在Excel表格中你知道如何动态引用图片吗?
- 通过RxJS理解响应式编程
- 广州爱立信java笔试题_爱立信笔试经历
- html网页设计课程心得,网页设计教学心得体会
- 软考高项:十大知识领域47个过程组速记
- 为什么人和人的差距这么大?
- java flv 转swf_nginx-http-flv-module flv拉流错误整理
- 虚幻引擎UE4加载GIS数据《数字孪生智慧城市》
- SpringCloud整合Feign和Nacos报错:No Feign Client for loadBalancing defined. Did you forget to include?
- 术业有专攻,让我们回归本位
- 健康贴示(尽力每日更新)2007-02-12
- AMBER:对单个复合物进行分子动力学模拟的python包(resp计算电荷及gpu加速版本)
热门文章
- 利用属性block进行代替代理使得两个viewController传参
- IOS开发基础之模拟科技头条项目案例32
- “System.AccessViolationException”类型的未经处理的异常在 OpenCvSharp.dll 中发生 其他信息: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏
- php 商品价格区间算法,ecshop商品价格添加区间
- 删除链表重复节点 python_python无序链表删除重复项的方法
- 四则运算栈c语言程序,四则运算 
c语言编程
- Apicloud开发之V7包继承AppCompactActivity后云编译资源找不到的解决办法
- Servlet调用流程
- iphone-命令行编译之--xcodebuild
- 微信小程序入门(一)