Hướng dẫn mysqli_query là gì

Trong bài này chúng ta sẽ vận dụng những kiên thức từ đầu series tới giờ để thực hiện viết một lớp xử lý database thường sử dụng trong PHP. Lưu ý với bạn rằng thư viện này mục đích là để các bạn hiểu được lập trình OOP chứ mình không ép các bạn lấy nó sử dụng trong project  nhé.

Nội dung trong bài sẽ vận dụng thêm các kiến thức như các hàm xử lý mảng trong php, các hàm xử lý kết nối CSDL trong php như mysqli_connect, mysqli_close, mysqli_query ... Nên nếu bạn chưa biết nó là gì thì hãy tìm hiểu trước nhé.

1. Cấu trúc các lớp đối tượng xử lý database trong php

Vì mục đích của tôi sẽ trình bày các tính chất trong lập trình hướng đối tượng như tính kế thừa, tính trừu tượng ... nên trong bài này chúng ta sẽ xây dựng một mô hình các lớp như sau:

Trong đó file DB_driver đóng vai trò là adapter, nó sẽ chứa các hàm basic xử lý kết nối, xử lý câu truy vấn sql như insert, update, delete. File DB_business sẽ kế thừa file DB_driver và ngoài các hàm kế thừa có thể sử dụng thì nó sẽ có thêm các hàm bổ trợ như hàm select theo id, delete theo id, update theo id. Còn file demo sẽ chứa những đoạn code hướng dẫn cách sử dụng.

2. Viết thư viện sử lý DB_business [Adapter]

Trong file này chúng ta sẽ xây dựng một số hàm như sau:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

// Thư Viện Xử Lý Database

class DB_driver

{

    // Biến lưu trữ kết nối

    DB_business1 DB_business2DB_business3

     

    DB_business6

    DB_business8 DB_business9

DB_driver0DB_driver1

    DB_driver3

     

    DB_driver6

    DB_business8 DB_driver9

DB_driver0DB_driver1

    DB_driver3

     

    demo6

    DB_business8 demo9// Thư Viện Xử Lý Database0// Thư Viện Xử Lý Database1// Thư Viện Xử Lý Database2// Thư Viện Xử Lý Database3

DB_driver0DB_driver1

    DB_driver3

     

    class0

    DB_business8 class3// Thư Viện Xử Lý Database0// Thư Viện Xử Lý Database1// Thư Viện Xử Lý Database2// Thư Viện Xử Lý Database1class8// Thư Viện Xử Lý Database3

DB_driver0DB_driver1

    DB_driver3

     

    DB_driver6

    DB_business8 DB_driver9// Thư Viện Xử Lý Database0// Thư Viện Xử Lý Database1class8// Thư Viện Xử Lý Database3

DB_driver0DB_driver1

    DB_driver3

     

        0

    DB_business8     3// Thư Viện Xử Lý Database0// Thư Viện Xử Lý Database1    6// Thư Viện Xử Lý Database1class8// Thư Viện Xử Lý Database3

DB_driver0DB_driver1

    DB_driver3

     

    // Biến lưu trữ kết nối6

    DB_business8 // Biến lưu trữ kết nối9// Thư Viện Xử Lý Database0// Thư Viện Xử Lý Database1    6// Thư Viện Xử Lý Database1class8// Thư Viện Xử Lý Database3

DB_driver0DB_driver1

    DB_driver3

DB_driver3

Ý nghĩa của từng hàm mình đã comment rõ ràng rồi, bây giờ chúng ta sẽ xây dựng cho từng hàm nhé.

Hàm connect

1

2

3

4

5

6

7

8

9

10

11

12

DB_business6

DB_business8 DB_business13

{

    DB_business16

    DB_business18 DB_business19DB_business20DB_business21

DB_driver0DB_business23

DB_driver0DB_business20DB_business26DB_business27// Thư Viện Xử Lý Database1DB_business29// Thư Viện Xử Lý Database1DB_business31// Thư Viện Xử Lý Database1DB_business33DB_business34DB_business35 DB_business36 DB_business37DB_business38DB_business39

 

DB_driver0DB_business41

DB_driver0DB_business43DB_business20DB_business45DB_business46DB_business39

    DB_driver3

DB_driver3

Hàm dis_connect

1

2

3

4

5

6

7

DB_driver6

DB_business8 DB_driver9

    DB_business55

    DB_business18 DB_business37DB_business20DB_business21

DB_driver0DB_business62DB_business20DB_business64

    DB_driver3

DB_driver3

Hàm insert

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

demo6

DB_business8 demo9// Thư Viện Xử Lý Database0// Thư Viện Xử Lý Database1// Thư Viện Xử Lý Database2DB_business34

{

    DB_business23

    DB_business20DB_business80

 

    DB_business82

    DB_business84 DB_business85DB_business86DB_business3

    DB_business89

    DB_business91 DB_business85DB_business86DB_business3

 

    DB_business96

    DB_business98 DB_business37// Thư Viện Xử Lý Database2 DB_driver01 DB_driver02 DB_driver03DB_driver04// Thư Viện Xử Lý Database3

DB_driver0DB_business84 DB_driver08DB_driver09DB_business3

DB_driver0DB_business91 DB_driver08DB_driver14DB_driver15DB_driver04DB_driver17DB_driver18DB_business3

    DB_driver3

 

    DB_driver23

    DB_driver25 DB_business85DB_driver27DB_driver28// Thư Viện Xử Lý Database0DB_driver28DB_driver31DB_driver32DB_business84// Thư Viện Xử Lý Database1DB_driver35DB_driver17DB_driver37DB_driver32DB_business91// Thư Viện Xử Lý Database1DB_driver35DB_driver17DB_driver43DB_business3

 

    DB_driver46 DB_business43DB_business20DB_business45DB_driver25DB_business39

DB_driver3

Hàm update

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

class0

DB_business8 class3// Thư Viện Xử Lý Database0// Thư Viện Xử Lý Database1// Thư Viện Xử Lý Database2// Thư Viện Xử Lý Database1class8DB_business34

{

    DB_business23

    DB_business20DB_business80

    DB_driver25 DB_business85DB_business86DB_business3

    DB_business96

    DB_business98 DB_business37// Thư Viện Xử Lý Database2 DB_driver01 DB_driver02 DB_driver03DB_driver04// Thư Viện Xử Lý Database3

DB_driver0DB_driver25 DB_driver08DB_driver87DB_driver15DB_driver04DB_driver17DB_driver91DB_business3

    DB_driver3

 

    DB_driver96

    DB_driver25 DB_business85demo00DB_driver28// Thư Viện Xử Lý Database0DB_driver28demo04DB_driver32DB_driver25// Thư Viện Xử Lý Database1DB_driver35DB_driver17demo10DB_driver28class8DB_business3

 

    DB_driver46 DB_business43DB_business20DB_business45DB_driver25DB_business39

DB_driver3

Hàm remove

1

2

3

4

5

6

7

8

9

DB_driver6

DB_business8 DB_driver9// Thư Viện Xử Lý Database0// Thư Viện Xử Lý Database1class8// Thư Viện Xử Lý Database3

    DB_business23

    DB_business20DB_business80

 

    demo35

    DB_driver25 DB_business85demo39DB_business3

    DB_driver46 DB_business43DB_business20DB_business45DB_driver25DB_business39

DB_driver3

Hàm lấy danh sách

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

    0

DB_business8     3DB_driver25DB_business34

{

    DB_business23

    DB_business20DB_business80

 

    demo61 demo62DB_business20DB_business45DB_driver25DB_business39

 

    DB_business18 DB_business19demo61// Thư Viện Xử Lý Database3

DB_driver0DB_business36 DB_business37demo75DB_business39

    DB_driver3

 

    demo80 DB_business85demo82demo83

 

    demo85

    demo87 DB_business37demo89 demo90demo61demo92

DB_driver0demo80demo95demo89DB_business3

    DB_driver3

 

    // Thư Viện Xử Lý Database01

    // Thư Viện Xử Lý Database03demo61DB_business39

 

    DB_driver46 demo80DB_business3

DB_driver3

Hàm lấy 1 row

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

// Biến lưu trữ kết nối6

DB_business8 // Biến lưu trữ kết nối9DB_driver25DB_business34

{

    DB_business23

    DB_business20DB_business80

 

    demo61 demo62DB_business20DB_business45DB_driver25DB_business39

 

    DB_business18 DB_business19demo61// Thư Viện Xử Lý Database3

DB_driver0DB_business36 DB_business37demo75DB_business39

    DB_driver3

 

    demo89 demo90demo61DB_business39

 

    // Thư Viện Xử Lý Database01

    // Thư Viện Xử Lý Database03demo61DB_business39

 

    DB_business18 DB_business37demo89// Thư Viện Xử Lý Database3

DB_driver0DB_driver46 demo89DB_business3

    DB_driver3

 

    DB_driver46 // Thư Viện Xử Lý Database65

DB_driver3

Trong mỗi hàm hy vọng các bạn hiểu được ý nghĩa của từng đoạn code :D. Sau đây là nội dung toàn file DB_driver:

Toàn File DB_driver.php

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

// Thư Viện Xử Lý Database

class DB_driver

{

    // Biến lưu trữ kết nối

    DB_business1 DB_business2DB_business3

     

    DB_business6

    DB_business8 DB_business13

    {

DB_driver0DB_business16

DB_driver0DB_business18 DB_business19DB_business20DB_business21

// Thư Viện Xử Lý Database92DB_business23

// Thư Viện Xử Lý Database92DB_business20DB_business26DB_business27// Thư Viện Xử Lý Database1DB_business29// Thư Viện Xử Lý Database1DB_business31// Thư Viện Xử Lý Database1DB_business33DB_business34DB_business35 DB_business36 DB_business37DB_business38DB_business39

 

// Thư Viện Xử Lý Database92DB_business41

// Thư Viện Xử Lý Database92DB_business43DB_business20DB_business45DB_business46DB_business39

DB_driver0DB_driver3

    DB_driver3

 

    DB_driver6

    DB_business8 DB_driver9

DB_driver0DB_business55

DB_driver0DB_business18 DB_business37DB_business20DB_business21

// Thư Viện Xử Lý Database92DB_business62DB_business20DB_business64

DB_driver0DB_driver3

    DB_driver3

 

    demo6

    DB_business8 demo9// Thư Viện Xử Lý Database0// Thư Viện Xử Lý Database1// Thư Viện Xử Lý Database2DB_business34

    {

DB_driver0DB_business23

DB_driver0DB_business20DB_business80

 

DB_driver0DB_business82

DB_driver0DB_business84 DB_business85DB_business86DB_business3

DB_driver0DB_business89

DB_driver0DB_business91 DB_business85DB_business86DB_business3

 

DB_driver0DB_business96

DB_driver0DB_business98 DB_business37// Thư Viện Xử Lý Database2 DB_driver01 DB_driver02 DB_driver03DB_driver04// Thư Viện Xử Lý Database3

// Thư Viện Xử Lý Database92DB_business84 DB_driver08DB_driver09DB_business3

// Thư Viện Xử Lý Database92DB_business91 DB_driver08DB_driver14DB_driver15DB_driver04DB_driver17DB_driver18DB_business3

DB_driver0DB_driver3

 

DB_driver0DB_driver23

DB_driver0DB_driver25 DB_business85DB_driver27DB_driver28// Thư Viện Xử Lý Database0DB_driver28DB_driver31DB_driver32DB_business84// Thư Viện Xử Lý Database1DB_driver35DB_driver17DB_driver37DB_driver32DB_business91// Thư Viện Xử Lý Database1DB_driver35DB_driver17DB_driver43DB_business3

 

DB_driver0DB_driver46 DB_business43DB_business20DB_business45DB_driver25DB_business39

    DB_driver3

 

    class0

    DB_business8 class3// Thư Viện Xử Lý Database0// Thư Viện Xử Lý Database1// Thư Viện Xử Lý Database2// Thư Viện Xử Lý Database1class8DB_business34

    {

DB_driver0DB_business23

DB_driver0DB_business20DB_business80

DB_driver0DB_driver25 DB_business85DB_business86DB_business3

DB_driver0DB_business96

DB_driver0DB_business98 DB_business37// Thư Viện Xử Lý Database2 DB_driver01 DB_driver02 DB_driver03DB_driver04// Thư Viện Xử Lý Database3

// Thư Viện Xử Lý Database92DB_driver25 DB_driver08DB_driver87DB_driver15DB_driver04DB_driver17DB_driver91DB_business3

DB_driver0DB_driver3

 

DB_driver0DB_driver96

DB_driver0DB_driver25 DB_business85demo00DB_driver28// Thư Viện Xử Lý Database0DB_driver28demo04DB_driver32DB_driver25// Thư Viện Xử Lý Database1DB_driver35DB_driver17demo10DB_driver28class8DB_business3

 

DB_driver0DB_driver46 DB_business43DB_business20DB_business45DB_driver25DB_business39

    DB_driver3

 

    DB_driver6

    DB_business8 DB_driver9// Thư Viện Xử Lý Database0// Thư Viện Xử Lý Database1class8// Thư Viện Xử Lý Database3

DB_driver0DB_business23

DB_driver0DB_business20DB_business80

DB_driver

DB_driver0demo35

DB_driver0DB_driver25 DB_business85demo39DB_business3

DB_driver0DB_driver46 DB_business43DB_business20DB_business45DB_driver25DB_business39

    DB_driver3

 

        0

    DB_business8     3DB_driver25DB_business34

    {

DB_driver0DB_business23

DB_driver0DB_business20DB_business80

DB_driver

DB_driver0demo61 demo62DB_business20DB_business45DB_driver25DB_business39

 

DB_driver0DB_business18 DB_business19demo61// Thư Viện Xử Lý Database3

// Thư Viện Xử Lý Database92DB_business36 DB_business37demo75DB_business39

DB_driver0DB_driver3

 

DB_driver0demo80 DB_business85demo82demo83

 

DB_driver0demo85

DB_driver0demo87 DB_business37demo89 demo90demo61demo92

// Thư Viện Xử Lý Database92demo80demo95demo89DB_business3

DB_driver0DB_driver3

 

DB_driver0// Thư Viện Xử Lý Database01

DB_driver0// Thư Viện Xử Lý Database03demo61DB_business39

 

DB_driver0DB_driver46 demo80DB_business3

    DB_driver3

 

    // Biến lưu trữ kết nối6

    DB_business8 // Biến lưu trữ kết nối9DB_driver25DB_business34

    {

DB_driver0DB_business23

DB_driver0DB_business20DB_business80

DB_driver

DB_driver0demo61 demo62DB_business20DB_business45DB_driver25DB_business39

 

DB_driver0DB_business18 DB_business19demo61// Thư Viện Xử Lý Database3

// Thư Viện Xử Lý Database92DB_business36 DB_business37demo75DB_business39

DB_driver0DB_driver3

 

DB_driver0demo89 demo90demo61DB_business39

 

DB_driver0// Thư Viện Xử Lý Database01

DB_driver0// Thư Viện Xử Lý Database03demo61DB_business39

 

DB_driver0DB_business18 DB_business37demo89// Thư Viện Xử Lý Database3

// Thư Viện Xử Lý Database92DB_driver46 demo89DB_business3

DB_driver0DB_driver3

 

DB_driver0DB_driver46 // Thư Viện Xử Lý Database65

    DB_driver3

DB_driver3

3. Một số cách sử dụng thư viện

Trước tiên bạn tạo một database tên demo và tạo một table như sau:

1

2

3

4

5

6

    64     65     66    67     68

    69    70    71    72    67     74     75

    69    77    78    77    80    81    82     83    84     74// Thư Viện Xử Lý Database1

    69    88    80    81    82     83    84     74// Thư Viện Xử Lý Database1

    69    97     98     99

// Biến lưu trữ kết nối00    84 // Biến lưu trữ kết nối02    82// Biến lưu trữ kết nối04

Trong file // Biến lưu trữ kết nối05 bạn sẽ thực hiện lần lượt các đoạn code sau và xem trong db sẽ thấy tác dụng của thư viện này.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

// Biến lưu trữ kết nối06 DB_business37// Biến lưu trữ kết nối08DB_business39

 

// Biến lưu trữ kết nối10

// Biến lưu trữ kết nối11 DB_business85// Biến lưu trữ kết nối13 // Biến lưu trữ kết nối14

 

// Biến lưu trữ kết nối15

// Biến lưu trữ kết nối11// Biến lưu trữ kết nối17// Biến lưu trữ kết nối18// Thư Viện Xử Lý Database1demo82DB_business37

    // Biến lưu trữ kết nối23 DB_driver03// Biến lưu trữ kết nối25// Thư Viện Xử Lý Database1

    // Biến lưu trữ kết nối28 DB_driver03// Biến lưu trữ kết nối30

// Biến lưu trữ kết nối31

 

// Biến lưu trữ kết nối32

// Biến lưu trữ kết nối11// Biến lưu trữ kết nối34// Biến lưu trữ kết nối18// Thư Viện Xử Lý Database1demo82DB_business37

    // Biến lưu trữ kết nối23 DB_driver03// Biến lưu trữ kết nối42

// Biến lưu trữ kết nối43// Biến lưu trữ kết nối44DB_business39

 

// Biến lưu trữ kết nối46

// Biến lưu trữ kết nối11// Biến lưu trữ kết nối48// Biến lưu trữ kết nối18// Thư Viện Xử Lý Database1// Biến lưu trữ kết nối44DB_business39

 

// Biến lưu trữ kết nối53

// Biến lưu trữ kết nối54// Biến lưu trữ kết nối11// Biến lưu trữ kết nối56// Biến lưu trữ kết nối57// Biến lưu trữ kết nối31

 

// Biến lưu trữ kết nối59

// Biến lưu trữ kết nối54// Biến lưu trữ kết nối11// Biến lưu trữ kết nối62// Biến lưu trữ kết nối63// Biến lưu trữ kết nối31

 

Note: Vì bài tương đối dài nên tôi sẽ trình bày tiêp ở bài tiếp theo nhé

4. Lời kết

Trong bài này các bạn chỉ cần hiểu được ý nghĩa của đối tượng trong PHP, hiểu được một số hàm xử lý database trong PHP thì sẽ hiểu được những đoạn code mà mình đã trình bày. Trong thực tế đó chỉ là những đoạn code đơn giản, còn những đoạn code phức tạp hơn nhiều, thậm chí dài đến mấy ngàn dòng.

Mysqli_connect [] là gì?

Hàm mysqli_connect được sử dụng để kết nối với một MySQL database server.

Mysql_query trong PHP là gì?

Hàm mysql_query [] trong PHP được sử dụng để chèn bản ghi trong bảng. Kể từ PHP 5.5, hàm mysql_query [] bị phản đối sử dụng.

Fetch_assoc [] là gì?

PDO::FETCH_ASSOC: Trả về dữ liệu dạng mảng với key tên của column [column của các table trong database] PDO::FETCH_BOTH [default]: Trả về dữ liệu dạng mảng với key tên của column và cả số thứ tự của column.

Chủ Đề