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); //参数为数据库链接对象

  1. <a name="5l1iq"></a>
  2. # 面向对象
  3. - php 中类的变量,属性调用方法写法有些特殊
  4. - $对象名->属性/方法名 进行调用
  5. - 构造方法
  6. - 类在实例化的时候被调用,
  7. - 有参/无参
  8. - 写法
  9. - 类中
  10. - 修饰符 function __constructor(){方法体代码}
  11. - 析构函数
  12. - 类在实例化的最后进行调用
  13. - 永远是最后一个环节进行调用的
  14. - 写法
  15. - 类中
  16. - 修饰符 function __destruct(){方法体代码}
  17. - 修饰符基本与java,python类似
  18. - protect,private,public
  19. ```php
  20. <?php
  21. // php 面向对象
  22. // 类的定义
  23. //# 类的标示符 类名 {
  24. // 属性 + 方法 => 变量 + 函数
  25. // 访问权限修饰符 属性名 = value
  26. // 访问权限修饰符 方法/函数 方法名(参数){}
  27. //}
  28. class Dog{
  29. public $name = "adi";
  30. public function eat(){
  31. echo "adi 喜欢吃鸡胸肉";
  32. }
  33. }
  34. # 实例化
  35. # 对象名 = new 类名(参数)
  36. $dog1 = new Dog();
  37. # 对象名字->属性名字,的形式进行调用,属性名前不能加$符号
  38. $name = $dog1->name;
  39. echo $name; // 通过这样的方式去调用类的属性
  40. // 调用对象的方法
  41. $dog1->eat(); // 同样通过->的方式来进行调用
  42. // 访问权限修饰符
  43. /* public
  44. * protected
  45. * private
  46. */
  47. /*
  48. * 构造方法
  49. * 一个类有且只有一个构造方法
  50. */
  51. class A{
  52. public $name;
  53. public function __construct($age)
  54. {
  55. $this->name = 'adi';
  56. echo "我是 {$this->name}".'<br/>';
  57. echo "我是A的构造函数";
  58. }
  59. public function __destruct()
  60. {
  61. // TODO: Implement __destruct() method.
  62. echo "我是A的西沟函数,无论放在那里都是最后一个执行,会在执行结束的最后一个环节来调用";
  63. }
  64. }
  65. $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()}”;

  1. <a name="UDiRh"></a>
  2. # 静态成员
  3. - 定义静态成员
  4. - 定义静态属性
  5. - 静态成员访问
  6. - 类中静态成员访问
  7. ```php
  8. <?php
  9. /*
  10. * 静态成员
  11. * 定义静态成员
  12. * 定义静态属性
  13. * 静态成员访问,
  14. * 类中静态成员访问
  15. *
  16. */
  17. // 定义静态属性的格式 : static 变量
  18. # 访问权限修饰符 静态关键字 属性名[=值]
  19. //public static $a = 1;
  20. // 访问权限修饰符 静态关键字 方法标示符 方法名() ---- 静态方法
  21. //public static function static_method(){
  22. //
  23. //}
  24. class Person{
  25. public static $age = 18;
  26. public static function test(){
  27. print "我是一个静态方法";
  28. // 类中静态成员的访问
  29. print self::$age; // 需要使用self :: 范围解析符来进行查找变量
  30. print Person::$age; // 或者是直接使用类名 :: 范围解析 + 变量名
  31. }
  32. }
  33. // 静态成员不属于某一个对象,直接使用类名进行访问
  34. Person::$age; // 访问静态属性需要使用 :: 为范围解析符
  35. // 调用静态属性要与一般的属性分开
  36. Person::test(); // 调用静态方法的时候不能漏掉()

类常量

  • 概念
  • 定义方式
  • 调用方式
  • 类常量与全局常量的区别 ```php <?php /*
    • 累常量的学习 *
    • 定义类常量 */

// 格式const

class Person{ // 类常量的定义格式 const NAME = ‘addicated’;

  1. public static function test(){
  2. print self::NAME;
  3. }

} // 类常量的调用格式 Person::NAME; // 可以直接通过类名进行调用,类内调用 Person::test(); // 类外调用,通过类内的静态方法访问

// 类常量与全局常量的区别 // * 类常量是专属于类的常量,只有类内可访问

  1. <a name="yqwb3"></a>
  2. # 继承
  3. - 与常见oop语言的定义类似。
  4. ```php
  5. <?php
  6. /*
  7. * 累常量的学习
  8. *
  9. * 定义类常量
  10. */
  11. // 格式const
  12. class Person{
  13. // 类常量的定义格式
  14. const NAME = 'addicated';
  15. public $age =20;
  16. public $edu ="colleage";
  17. public static function test(){
  18. print self::NAME;
  19. print "这是 Person 的test 静态方法";
  20. }
  21. }
  22. // 类常量的调用格式
  23. Person::NAME; // 可以直接通过类名进行调用,类内调用
  24. Person::test(); // 类外调用,通过类内的静态方法访问
  25. // 类常量与全局常量的区别
  26. // * 类常量是专属于类的常量,只有类内可访问
  27. print '<hr>';
  28. class Oen extends Person{
  29. }
  30. $oen1 = new Oen();
  31. print $oen1->age; // 继承父类的属性 和方法
  32. print $oen1->edu;
  33. $oen1->test();

封装