PHP链接数据库的步骤
- 1 链接数据库
- 2 判断是否链接成功
- 3 设置字符集
- 4 选择数据库
- 5 准备sql语句
- 6 发送sql语句拿到结果机
- 7 处理结果集
- 8 关闭数据库 ```php <?php
/*
- php 链接数据库 *
- //1 链接数据库 *
- //2 判断是否链接成功 *
- //3 设置字符集 *
- //4 选择数据库 *
- //5 准备sql语句 *
- //6 发送sql语句 *
- //7 处理结果集 *
- //8 关闭数据库(释放资源
- / */ $link = mysqli_connect(‘localhost’, ‘root’, ‘123456’); var_dump($link); // 返回的是一个链接对象
// 判断链接是否成功 if (!$link){ exit(“数据库链接失败了~”); } // 设置字符集 mysqli_set_charset($link,’utf8’); // 选择数据库 mysqli_select_db($link,”mysql”); // 准备sql语句 $sql = “select * from user”; // 发送sql语句 $res=mysqli_query($link,$sql); // 处理结果机 //$result=mysqli_fetch_assoc($res); // 一个一个往下读,返回的是一个一维的关联数组(必会 mysqli_fetch_row($result) // 返回一个索引数组 mysqli_fetch_array($result) // 返回一个有索引又有关联的数组 mysqli_num_rows($result) // 返回查询的时候结果集的总条数 mysqli_affected_rows() // 返回受影响的行数 mysqli_insert_id(); // 返回的是插入的当前的数据的自增id $result=mysqli_fetch_all($res); // 直接取的所有的数据
var_dump($result);
// 关闭数据库 mysqli_close($link); //参数为数据库链接对象
<a name="5l1iq"></a># 面向对象- php 中类的变量,属性调用方法写法有些特殊- $对象名->属性/方法名 进行调用- 构造方法- 类在实例化的时候被调用,- 有参/无参- 写法- 类中- 修饰符 function __constructor(){方法体代码}- 析构函数- 类在实例化的最后进行调用- 永远是最后一个环节进行调用的- 写法- 类中- 修饰符 function __destruct(){方法体代码}- 修饰符基本与java,python类似- protect,private,public```php<?php// php 面向对象// 类的定义//# 类的标示符 类名 {// 属性 + 方法 => 变量 + 函数// 访问权限修饰符 属性名 = value// 访问权限修饰符 方法/函数 方法名(参数){}//}class Dog{public $name = "adi";public function eat(){echo "adi 喜欢吃鸡胸肉";}}# 实例化# 对象名 = new 类名(参数)$dog1 = new Dog();# 对象名字->属性名字,的形式进行调用,属性名前不能加$符号$name = $dog1->name;echo $name; // 通过这样的方式去调用类的属性// 调用对象的方法$dog1->eat(); // 同样通过->的方式来进行调用// 访问权限修饰符/* public* protected* private*//** 构造方法* 一个类有且只有一个构造方法*/class A{public $name;public function __construct($age){$this->name = 'adi';echo "我是 {$this->name}".'<br/>';echo "我是A的构造函数";}public function __destruct(){// TODO: Implement __destruct() method.echo "我是A的西沟函数,无论放在那里都是最后一个执行,会在执行结束的最后一个环节来调用";}}$a = new A(26); // 构造函数在类被实力话的时候调用
魔术方法
- 推测跟的课程中只是简单介绍了一下get/set方法使用,后续遇到在这个tag下再进行整理
get/set 方法与java类似,通过两个方法来在类外进行变量访问,赋值等等操作 ```php <?php /*
- 魔术方法
一般命名方法为 __方法名的形式来进行命名 /
get set 类似 java 的getter。setter
class Person{ private $name; // 修饰符为 private 类外不可访问 private $age;
/**
- @return mixed */ public function getAge() // 相当于java的getter,setter方法,提供方法从类外访问私有变量 { return $this->age; }
/**
- @return mixed */ public function getName() { return $this->name; }
/**
- @param mixed $age */ public function setAge($age) { $this->age = $age; } }
$person1 = new Person(); // 通过set方法来改变私有变量, $person1->setAge(20); // 通过get方法来访问私有变量 print “阿迪今年的年龄是:{$person1->getAge()}”;
<a name="UDiRh"></a># 静态成员- 定义静态成员- 定义静态属性- 静态成员访问- 类中静态成员访问```php<?php/** 静态成员* 定义静态成员* 定义静态属性* 静态成员访问,* 类中静态成员访问**/// 定义静态属性的格式 : static 变量# 访问权限修饰符 静态关键字 属性名[=值]//public static $a = 1;// 访问权限修饰符 静态关键字 方法标示符 方法名() ---- 静态方法//public static function static_method(){////}class Person{public static $age = 18;public static function test(){print "我是一个静态方法";// 类中静态成员的访问print self::$age; // 需要使用self :: 范围解析符来进行查找变量print Person::$age; // 或者是直接使用类名 :: 范围解析 + 变量名}}// 静态成员不属于某一个对象,直接使用类名进行访问Person::$age; // 访问静态属性需要使用 :: 为范围解析符// 调用静态属性要与一般的属性分开Person::test(); // 调用静态方法的时候不能漏掉()
类常量
- 概念
- 定义方式
- 调用方式
- 类常量与全局常量的区别
```php
<?php
/*
- 累常量的学习 *
- 定义类常量 */
// 格式const
class Person{ // 类常量的定义格式 const NAME = ‘addicated’;
public static function test(){print self::NAME;}
} // 类常量的调用格式 Person::NAME; // 可以直接通过类名进行调用,类内调用 Person::test(); // 类外调用,通过类内的静态方法访问
// 类常量与全局常量的区别 // * 类常量是专属于类的常量,只有类内可访问
<a name="yqwb3"></a># 继承- 与常见oop语言的定义类似。```php<?php/** 累常量的学习** 定义类常量*/// 格式constclass Person{// 类常量的定义格式const NAME = 'addicated';public $age =20;public $edu ="colleage";public static function test(){print self::NAME;print "这是 Person 的test 静态方法";}}// 类常量的调用格式Person::NAME; // 可以直接通过类名进行调用,类内调用Person::test(); // 类外调用,通过类内的静态方法访问// 类常量与全局常量的区别// * 类常量是专属于类的常量,只有类内可访问print '<hr>';class Oen extends Person{}$oen1 = new Oen();print $oen1->age; // 继承父类的属性 和方法print $oen1->edu;$oen1->test();
