这一节课主要讲的是类和数据库的知识,主要是类和对象,类的构造器,魔术方法__get()和__set(),mysql连接数据库1、

什么是类 ?什么是对象?举例说明

答:类是对象的模板,对象是类的一个实例。 举例:类:class Student{} 对象:$student=new Student()

代码

实例

class Student{//定义一个Student类

//访问控制:私有化pricate

private $name;

//年龄

private $age;

//成绩分数

private $score=[];

//属性收集器

private $data=[];

//声明构造方法:对象属性的初始化,在类实例化时自动调用

public function __construct($name,$age,array $score)

{//private访问符限制的属性仅在当前对象内部可以使用

$this->name = $name;

$this->age = $age;

$this->score = $score;

}

//创建对外访问的公共接口

//类中用双下划线的方法是系统定义的,由系统自动调用是魔术方法

public function __get($name)

{

$msg = null;

if(isset($this->name)){

$msg = $this->$name;

}elseif (isset($this->data[$name])){

$msg = $this->data[$name];

}else{

$msg = '无此属性';

}

return $msg;

}

//设置器

public function __set($name, $value)

{

$this->name = $value;

}

}

?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

//插入外部的类文件

require 'class/Student.php';

//类的实例化

$student1 = new Student('杨过',26,[80,90,86]);

echo $student1->name,'
';

echo $student1->age,'
';

print_r($student1->score) ;

运行实例 »

点击 "运行实例" 按钮查看在线实例

预览图

代码

实例

//在表staff中插入数据

insert into `staff` (`name`,`salary`) values (`aaa`,4544);

insert into `staff` (`name`,`salary`) values (`aaa`,4544);

insert into `staff` (`name`,`salary`) values (`aaa`,4544);

insert into `staff` (`name`,`salary`) values (`aaa`,4544);

insert into `staff` (`name`,`salary`) values (`aaa`,4544);

insert into `staff` (`name`,`salary`) values (`aaa`,4544);

insert into `staff` (`name`,`salary`) values (`aaa`,4544);

insert into `staff` (`name`,`salary`) values (`aaa`,4544);

insert into `staff` (`name`,`salary`) values (`aaa`,4544);

insert into `staff` (`name`,`salary`) values (`aaa`,4544);

//更新staff表中id=17的age和salary字段

update `staff` set `age`=30,`salary`=1000 where `id`=17;

update `staff` set `age`=30,`salary`=1000 where `id`=17;

update `staff` set `age`=30,`salary`=1000 where `id`=17;

update `staff` set `age`=30,`salary`=1000 where `id`=17;

update `staff` set `age`=30,`salary`=1000 where `id`=17;

update `staff` set `age`=30,`salary`=1000 where `id`=17;

update `staff` set `age`=30,`salary`=1000 where `id`=17;

update `staff` set `age`=30,`salary`=1000 where `id`=17;

update `staff` set `age`=30,`salary`=1000 where `id`=17;

update `staff` set `age`=30,`salary`=1000 where `id`=17;

//查询staff表

select * from `staff` where 条件;

select * from `staff` where 条件;

select * from `staff` where 条件;

select * from `staff` where 条件;

select * from `staff` where 条件;

select * from `staff` where 条件;

select * from `staff` where 条件;

select * from `staff` where 条件;

select * from `staff` where 条件;

select * from `staff` where 条件;

//删除

delete * from `staff` where 条件;

delete * from `staff` where 条件;

delete * from `staff` where 条件;

delete * from `staff` where 条件;

delete * from `staff` where 条件;

delete * from `staff` where 条件;

delete * from `staff` where 条件;

delete * from `staff` where 条件;

delete * from `staff` where 条件;

delete * from `staff` where 条件;

运行实例 »

点击 "运行实例" 按钮查看在线实例

代码

实例

$db = [

'host' => '127.0.0.1',

'user' => 'root',

'pass' => '5201314',

'name' => 'php',

'charset' => 'utf8',

];

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

//插入配置文件

require 'config.php';

//创建一个数据库连接,并返回mysqli对象

$mysqli= new mysqli($db['host'],$db['user'],$db['pass'], $db['name']);

//判断是否连接成功

if($mysqli->connect_errno){

//自定义错误提示信息

die('连接错误'.$mysqli->connect_errno.':'.$mysqli->connect_error);

}

echo '

连接成功

';

//设置客 户端默认的字符编码集

$mysqli->set_charset($db['charset']);

运行实例 »

点击 "运行实例" 按钮查看在线实例

预览图

手写

对于数据库连接用到的属性和方法记得更加清楚,也知道怎样去写数据库连接

总结

1、知道什么是类什么是对象,类是对象的模板,对象是类的一个实例

2、怎么写公共接口__set()和get(),同时知道了怎么进行访问

3、熟悉了MySQL常用的增删改查语句

4、msql的连接所用到的属性和方法以及adminer.php的使用

mysql构造器_类和对象,类的构造器,魔术方法__get()和__set(),mysql连接数据库的方式--2018年8月30日11时38分...相关推荐

  1. php类方法属性省略,第十课—类的属性和类的方法 2018年9月3日 20时00分

    类的申明.实例化类.类常量.类方法的重写以及类的继承 实例 // 类的声明与实例化 // 父类 class Demo1 { // 类常量使用关键字: const 定义 const SITE_NAME  ...

  2. mysql预处理 更新_MySQL 预处理方法更新删除-2018年04月27日00时59分

    1.预处理技术,可以将动态变量,从SQL语句中的分离出来,单独操作 2.解决了SQL注入的安全问题 3.预处理操作是通过一个叫预处理对象的工具来操作的: STMT 实例--删除 // 连接数据库 re ...

  3. 1~22(面向编程+ES6中的类和对象+类的继承+面向对象版tab栏切换)

    1 面向对象编程介绍 1.1 两大编程思想 面向过程 面向对象 1.2 面向过程编程POP(Process-oriented programming) 面向过程就是分析出解决问题所需要的步骤,然后用函 ...

  4. 面向过程和面向对象的设计思想、java类、Java类的定义、java对象、对象的创建和使用、类和对象、变量分类、方法分类、构造方法、方法的重载

    1.面向过程和面向对象的设计思想 面向过程:procedure oriented programming 缩写 POP. 分析出解决问题所需要的步骤,然后把步骤一步一步实现. 面向过程直接关注流程. ...

  5. 美国访学J类签证费涨价15%|5月30日生效

    2023年5月30日起,美国签证费用开始上调,其中访问学者的J类签证将由160美元调整至185美元,涨价15%.届时美国驻华大使馆将依据汇率做出调整,并公布具体的人民币数额.知识人网小编提醒相关签证人 ...

  6. 1. 使用SimpleDateFormat类,把2018-03-04转换为2018年03月04日 2. 用程序判断2018年2月14日是星期几。 3. 键盘录入一个年份,判断这

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  7. vb.net datetimepicker月到当日的天数_听丨6月30日,黄石人的公积金有大变化

    准备好你的耳朵 让眼睛轻松一下 本地资讯 1 再过一周就是咱们中国的传统节日--端午节了,端午节期间,由黄石日报社融媒体主办的第四届东楚文创市集即将再次在黄石港最繁华的万达广场拉开帷幕,蕲春千年龙窑烧 ...

  8. layui时间选择30分钟为单位_招1879人 l 黔南事业单位,大专学历可报,7月30日8月3日报名...

    2020年贵州省事业单位招聘公告已陆续发布,7月21日起陆续进行网上报名,9月5日进行笔试,笔试科目为<公共基础知识>,目前已出公告招聘8473人. [扫码看公告原文] 招考导读 招考人数 ...

  9. mysql time转换输出_MySQL将timediff输出转换为日,时,分,秒格式?

    要了解MySQL将timediff输出转换为日,时,分和秒格式,您需要在CONCAT()MySQL中使用. 让我们创建一个表.创建表的查询如下:mysql> create table conve ...

最新文章

  1. 初等数论--同余--WILSON定理
  2. Java NIO使用及原理分析
  3. 二阶传递函数的推导及几种求解方法的比较
  4. 贵州大学计算机专业的导师是谁,贵州大学计算机科学与信息学院导师介绍:王以松...
  5. 每日一题——剑指 Offer24反转链表
  6. fdisk 分区_【linux】循序渐进学运维-基础篇-分区命令fdisk
  7. 无法打开文件“libboost_python-vc120-mt-sgd-1_59.lib”
  8. jitter单位_产生jitter的原因
  9. 【lucene】lucene自定义 filter
  10. Pascal VOC2012
  11. mac 设置maven环境变量并永久生效
  12. 远方有你,Emacs
  13. 用k-mer分析进行基因组调查:(四)用GenomeScope评估基因组特征
  14. edvac是商用计算机吗,EDVAC(eniac与edvac的区别)
  15. 【bzoj3653】谈笑风生
  16. 主干开发 主干发布_通过基于主干的开发来改善发布过程
  17. 北航计算机考研机考,11北航计算机复试上机
  18. 机器学习(学习笔记)二 模型评估与选择(上)
  19. Linux命令·ln
  20. word内多级列表标题变成黑块解决办法

热门文章

  1. 速卖通新手卖家入门知识问答
  2. Springboot 整合tk-mybatis , 妈妈,我再也不想敲CRUD的代码了!
  3. 投票系统java如何实现_用Java实现投票系统
  4. 使用obs时显示已从服务器,小鹅通OBS
  5. 爪爪博士:关于猫斑秃和猫藓的具体区别有哪些?
  6. 联想收购诺基亚?玩笑而已别太当真
  7. yaml语法 关于key为中文时的问题
  8. 从来没有一种工作叫:钱多事少离家近,位高权重责任轻
  9. 高中新课程作业本 数学 必修1 答案
  10. 我决定辞掉工作,全职开发我的操作系统!(续)