一:什么类,什么是对象?
类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。
类:类是对象的抽象,描述一组对象的共同特征和行为(如汽车)。类中可以定义成员变量和成员方法,成员变量用于描述对象的特征,也称作属性(如车的颜色,大小,*牌,价格),成员方法用于描述对象的行为,可简称方法(汽车的油耗,时速,制动距离等)
对象:对象用于表示现实中该类事物的个体,如奥迪Q7宝马X6等是具体的对象,有各自属于自身的优势属性。
二、实例化对象
demo3实例
<?php error_reporting(E_ALL); require 'class/car3.php'; $buycar = new car3('bmw','22','blcak',[1700,1500,1400]); echo $buycar->brand,'<br>'; echo $buycar->price,'<br>'; echo $buycar->color,'<br>'; echo print_r($buycar->size,'true'),'<br>'; echo $buycar->kw;
运行实例 »
点击 "运行实例" 按钮查看在线实例
CAR3.PHP实例
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/9/1 * Time: 下午 09:51 */ class car3 { //访问控制: private //car牌 private $brand; //价格 private $price; //颜色 private $color; //尺寸 private $size = []; //属性收集器 private $data = []; //声明构造方法:对象属性初始化 类实例化自动调用 public function __construct($brand,$price,$color,array $size){ //private 访问符限制的属性仅可在当前对象内部使用 $this->brand = $brand; $this->price = $price; $this->color = $color; $this->size = $size; } //创建对外访问的公共接口 //类中用双下划线的方法是系统定义,由系统自动调用,叫魔术方法 public function __get($name){ $msg = null; if(isset($this->$name)){ $msg = $this->$name; }elseif(isset($this->$data[$name])){ $msg = $this->data[$name]; }else{ $msg = '无'.$name.'属性'; } return $msg; } //设置器 public function __set($name,$value){ $this->$name = $value; } }
运行实例 »
点击 "运行实例" 按钮查看在线实例
pet4.PHP实例
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/9/2 * Time: 上午 09:20 */ class pet { //访问控制private private $name; //年龄 private $age; //价格 private $price; //体积 长宽高 private $volume=[]; //属性收集器 private $data=[]; //声明构造方法:对象属性初始化 类实例化自动调用 public function __construct($name,$age,$price,array $volume){ $this->name = $name; $this->age = $age; $this->price = $price; $this->volume = $volume; } //对外访问公共接口 // 类中用双下划线方法是系统定义的,由系统自动调用 魔术方法或重载 public function __get($name) { //判断调用属性是否存在 $var = null; if(isset($this->$name)) { $var = $this->$name; }elseif(isset($this->data[$name])) { $var = $this->data[$name]; }else { $var = $name.'不存在'; } return $var; } //设置器 public function __set($name, $value){ $this->$name = $value; } }
运行实例 »
点击 "运行实例" 按钮查看在线实例
demo4.PHP
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/9/2 * Time: 上午 09:43 */ require('class/pet4.php'); $pet = new pet('dog',2,1000,[1.4,0.7,1.3]); echo $pet->name,'<br>'; $pet->name = 'cat'; echo $pet->age,'<br>'; echo $pet->pig,'<br>'; echo $pet->price,'<br>'; echo print_r($pet->volume,true);
运行实例 »
点击 "运行实例" 按钮查看在线实例
三、sql语句
(1)增加 INSERT INTO
INSERT INTO `table_name` (字段列表) VALUES (对应值列表);
INSERT `staff` (`name`, `sex`, `age`, `salary`) VALUES ('小1', 1 , 23, 3333)INSERT IGNORE `staff` (`name`, `sex`, `age`, `salary`) VALUES ('小1', 1 , 23, 3333); // IGNORE 关键字忽略重复数据针对name字段 因为name 索引设置为UNIQUE
(2)更新 UPDATE
UPDATE `table_name` SET `column_name` = `new_value` WHERE `column_name` = some_value;
UPDATE `staff` SET `age` = 33 WHERE `id` = 5;
UPDATE `staff` SET `age`=23,`salary`=111 WHERE `id` < 5;
(3)删除 DELETE FROM
DELETE FROM `table_name` WHERE `column_name` = some_value; //DELETE 语句必需得加条件,不然就清空数据了
DELETE FROM `staff` WHERE `salary` = 111;
DELETE FROM `staff` WHERE `salary` > 2000;
(4)查询 SELECT
SELECT column_name(s) FROM `table_name`;
SELECT * FROM `staff` WHERE `salary` < 2000;//查询工资少于2000的
SELECT COUNT(*) AS TJ FROM `staff` WHERE `salary` < 2000; // 统计少于2000的人数 COUNT(*)
四.mysql数据库链接
config.php
<?php /** * 配置文件 */ $db_host='127.0.0.1'; $db_user='root'; $db_pass='admin'; $db_name='php'; $db_charset='utf8'; $db=[ 'host' => '127.0.0.1', 'user' => 'root', 'pass' => 'admin', 'name' => 'php', 'charset' => 'utf8', ]; $db2=[ 'host'=>'127.0.0.1', 'user'=>'root', 'pass'=>'admin', 'name'=>'php2', 'charset'=>'utf8', ]; $db3=[ 'host'=>'127.0.0.1', 'user'=>'root', 'pass'=>'admin', 'name'=>'php3', 'charset'=>'utf8', ];
运行实例 »
点击 "运行实例" 按钮查看在线实例
demo实例
<?php /**数据库链接*/ //创建一个数据库链接,并返回mysqli对象 require_once 'config.php'; error_reporting(E_ALL); //简化:将连接参数转为变量或数组 $mysqli = new mysqli($db['host'],$db['user'],$db['pass'],$db['name']); //print_r($mysqli); //判断链接成功? if($mysqli->connect_errno){ //自定义错误提示信息 die('链接错误'.$mysqli->connect_errno.':'.$mysqli->connect_error); } echo '<h1>链接成功</h1>'; //设置默认数据库 //$mysqli->select_db($db['name']); //设置客-户端默认的字符编码集 $mysqli->set_charset($db['charset']); //将默认数据库连接时,直接通过构造方法传入
运行实例 »
点击 "运行实例" 按钮查看在线实例
手抄sql和mysqli的方法参数:
总结
类和对象学习.
sql基本的CURD 操作
用mysqli类实例化对象连接数据库