一:什么类,什么是对象?
类是对某一类事物的抽象描述,而对象用于表示现实中该类事物的个体。
类:类是对象的抽象,描述一组对象的共同特征和行为(如汽车)。类中可以定义成员变量和成员方法,成员变量用于描述对象的特征,也称作属性(如车的颜色,大小,*牌,价格),成员方法用于描述对象的行为,可简称方法(汽车的油耗,时速,制动距离等)
对象:对象用于表示现实中该类事物的个体,如奥迪Q7宝马X6等是具体的对象,有各自属于自身的优势属性。
二、实例化对象
demo3实例
error_reporting(E_ALL);
require 'class/car3.php';
$buycar = new car3('bmw','22','blcak',[1700,1500,1400]);
echo $buycar->brand,'
';
echo $buycar->price,'
';
echo $buycar->color,'
';
echo print_r($buycar->size,'true'),'
';
echo $buycar->kw;
运行实例 »
点击 "运行实例" 按钮查看在线实例
CAR3.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实例
/**
* 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
/**
* 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,'
';
$pet->name = 'cat';
echo $pet->age,'
';
echo $pet->pig,'
';
echo $pet->price,'
';
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
/**
* 配置文件
*/
$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实例
/**数据库链接*/
//创建一个数据库链接,并返回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 '
链接成功
';//设置默认数据库
//$mysqli->select_db($db['name']);
//设置客-户端默认的字符编码集
$mysqli->set_charset($db['charset']);
//将默认数据库连接时,直接通过构造方法传入
运行实例 »
点击 "运行实例" 按钮查看在线实例
手抄sql和mysqli的方法参数:
总结类和对象学习.
sql基本的CURD 操作
用mysqli类实例化对象连接数据库