Làm cách nào để chạy một truy vấn đơn giản trong php minh họa?
Hàm mysql_query() trong PHP được sử dụng để thực hiện truy vấn chọn. Kể từ PHP 5. 5, hàm mysql_query() không được dùng nữa. Bây giờ nên sử dụng một trong 2 lựa chọn thay thế Show
Có hai chức năng MySQLi khác được sử dụng trong truy vấn chọn
Ví dụ truy vấn chọn MySQLi PHPVí dụđầu ra Connected successfully EMP ID :1 EMP NAME : ratan EMP SALARY : 9000 -------------------------------- EMP ID :2 EMP NAME : karan EMP SALARY : 40000 -------------------------------- EMP ID :3 EMP NAME : jai EMP SALARY : 90000 -------------------------------- Mặc dù thường nên sử dụng một số loại khung hoặc CMS, nhưng đôi khi một dự án đủ nhỏ để những tùy chọn đó sẽ ảnh hưởng đến quá trình phát triển. Tuy nhiên, ngay cả trong các dự án nhỏ hơn, không nên bỏ qua việc tách các yếu tố trình bày khỏi truy vấn phụ trợ. Hướng dẫn này sẽ hướng dẫn bạn cách tạo một công cụ truy vấn dựa trên lớp cơ bản cho PHP và MySQL Bước 1. Thiết lập dự ánĐiều đầu tiên chúng ta sẽ muốn làm là tạo một số tệp và thư mục cụ thể. Đây là cách tôi muốn thiết lập các dự án của mình. Tất nhiên, bạn có thể thoải mái thay đổi tên và cấu trúc theo ý thích của mình. Chỉ cần đảm bảo rằng bạn cũng thay đổi yêu cầu sau này tạo thư mụcChúng tôi sẽ cần một thư mục mới để chứa mọi thứ. Trong trường hợp này, tôi gọi nó là tut. Bên trong đó, tôi đặt các tệp cấu hình của mình vào một thư mục có tên là conf. Sau đó, tôi sẽ tạo một thư mục inc (viết tắt của include) và đặt một thư mục "class" bên trong thư mục đó Thêm các tập tinSau đó, bên trong /conf, chúng tôi sẽ thực hiện cấu hình. php. Bên trong /inc/class chúng ta sẽ tạo DAL. php. Cuối cùng, trong thư mục gốc, chúng ta sẽ tạo chỉ mục. php
Bước 2. Thiết lập cơ sở dữ liệuChúng ta cần tạo một cơ sở dữ liệu và điền vào đó một số dữ liệu. Đối với mục đích của hướng dẫn này, nó sẽ chỉ là cơ sở dữ liệu hai bảng với mối quan hệ một-nhiều. Điều này chỉ để chúng tôi có thể hiển thị công cụ truy vấn của mình bao gồm ít nhất một mối quan hệ Tạo bảngVì vậy, trong cơ sở dữ liệu có tên "tut", hãy tạo một bảng có tên là make và một bảng có tên là models. Bảng make sẽ có các trường "id" và "name" và bảng models sẽ có các trường "id","make" và "name" Thêm một số dữ liệuBây giờ chúng tôi chỉ có thể thêm một số nhãn hiệu (như Ford, Chevy, v.v. ) dưới dạng dữ liệu trong bảng sản xuất và một số kiểu máy mà những nhà sản xuất đó chịu trách nhiệm Hướng dẫn này giả định rằng bạn đã có một số kiến thức làm việc về cơ sở dữ liệu và SQL, vì vậy tôi sẽ không đi vào chi tiết về thiết lập quan hệ/khóa ngoại Bước 3. Kết nối cơ sở dữ liệuThông thường, tôi không thích làm việc với hằng số thô trong PHP. Tôi thường sẽ định nghĩa một loạt thứ sau đó tạo một số hàm để nối vào các hằng số đó. Đối với ví dụ này, hãy để mọi thứ đơn giản và sử dụng các hằng số Xác định các biến kết nốiTrong /conf/config của chúng tôi. php, hãy thiết lập các biến kết nối cơ sở dữ liệu của chúng tôi. Trong khi chúng tôi đang ở đó, hãy thêm vào DAL của chúng tôi. tập lệnh php 1 2
3 4 // Include DAL
5 require_once(dirname(dirname(__FILE__)) . '/inc/class/DAL.php');_______9 10 20 21 22 23 24 25 26 27 28 29
0
1Thiết lập này giả định rằng bạn đang chạy MySQL trên cổng mặc định của nó Tạo chức năng kết nốiBây giờ, bên trong /inc/class/DAL. php, chúng ta sẽ tạo một hàm mà chúng ta sẽ sử dụng để kết nối với cơ sở dữ liệu của mình Kết nối, cũng như tất cả các truy vấn sắp tới, sẽ nằm trong một lớp có tên DAL. Gói tất cả sự tham gia của cơ sở dữ liệu bên trong một lớp duy nhất cho phép chúng tôi thao tác các truy vấn của mình sau này mà không cần phải chạm vào các tập lệnh lớp trình bày hoặc nghiệp vụ. Ngoài ra, nó cung cấp một số mức độ không gian tên giả Trong trường hợp của lớp này, chúng tôi sẽ thêm một hàm tạo mặc dù nó không cần làm gì cả 1 2
43 4
75
96 31 10 33 21 35 23 37 25 39 27 41 29 43
045 46
948 49 // Include DAL
0_______61// Include DAL
233_____64___1 Lưu ý rằng phạm vi của phương thức dbconnect là riêng tư. Điều này là do chúng ta không cần kết nối với cơ sở dữ liệu từ bên ngoài DAL của mình. Thay vào đó, chúng tôi sẽ có các phương thức truy vấn công khai sẽ gọi dbconnect từ bên trong DAL. Một chút khó hiểu? Bước 4. Tạo công cụ truy vấn chungĐể tóm tắt các truy vấn của chúng tôi để chúng tôi có thể sử dụng lại các đoạn mã ngắn, chúng tôi sẽ cần hai điều. Đầu tiên, chúng ta sẽ cần một số loại "kết quả truy vấn chung". Thứ hai, chúng tôi sẽ cần một phương thức truy vấn chung bên trong DAL của chúng tôi Tạo lớp kết quả truy vấn chungMục đích của tất cả những điều này là để có thể chuyển đổi các truy vấn SQL thành các đối tượng và giảm thiểu việc sử dụng vòng lặp xấu xí while($row = mysql_fetch_array($result)). Các đối tượng dễ làm việc hơn nhiều và cho phép chúng ta sử dụng các thuộc tính thay vì các khóa mảng Nói tóm lại, chúng tôi muốn tạo một lớp sẽ tạo tên thuộc tính một cách nhanh chóng và lưu trữ dữ liệu được liên kết với các thuộc tính đó Chúng tôi sẽ đặt lớp này bên trong /inc/class/DAL của chúng tôi. tập lệnh php. Vì là lớp mới nên nó sẽ nằm ngoài lớp DAL 1 2 51 3 4 54 5 6 31 10 21 require_once(dirname(dirname(__FILE__)) . '/inc/class/DAL.php');0 23 require_once(dirname(dirname(__FILE__)) . '/inc/class/DAL.php');2 25 // Include DAL
127 29 require_once(dirname(dirname(__FILE__)) . '/inc/class/DAL.php');7
0require_once(dirname(dirname(__FILE__)) . '/inc/class/DAL.php');9 46 61 48 63 // Include DAL
065 // Include DAL
267_______64 63_____ // Include DAL
6_____61_____5Tạo phương thức truy vấn chungBây giờ, bên trong lớp DAL của chúng ta, chúng ta cần tạo một phương thức truy vấn chung sẽ biến các truy vấn CHỌN thành các đối tượng DALQueryResult Về cơ bản, chúng tôi muốn biến từng tên trường được trả về thành một thuộc tính của đối tượng DALQueryResult 1 2 106 3 4 109 5 6 202 10 21 205 23 207 25 209 27 63 29 // Include DAL
1
0215 46 207 48 219 // Include DAL
063 // Include DAL
2223 // Include DAL
4225 // Include DAL
6227 // Include DAL
7// Include DAL
1230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 63 246 247 248 249 // Include DAL
1251 252 253 // Include DAL
5Đây là một hàm riêng chấp nhận truy vấn SQL. Nó kết nối với cơ sở dữ liệu và chạy truy vấn. Sau đó, nó kiểm tra xem có kết quả nào không. Nếu không có bất kỳ kết quả nào, nó sẽ trả về null đối với truy vấn CHỌN, sai đối với các truy vấn khác. Nếu truy vấn thành công và truy vấn không phải là truy vấn CHỌN, nó sẽ trả về true. Nếu đó là CHỌN, thì nó sẽ chuyển đổi kết quả thành một mảng các đối tượng DALQueryResult. Điều này bắt chước kết quả mà người ta thường nhận được từ mysql_query Bước 5. Viết truy vấn cụ thểBây giờ chúng ta đã sẵn sàng để thực sự viết một truy vấn SQL. Các truy vấn DAL phải rất cụ thể cả về tên và mục đích. Hãy tạo một cái tìm thấy tất cả các mẫu của một nhãn hiệu nhất định Đây sẽ là phương pháp công khai đầu tiên của chúng tôi 1____2 257______4 259 4 261 5 // Include DAL
5Ở đây chúng ta chỉ viết truy vấn và trả về kết quả dưới dạng đối tượng DALQueryResult. Phương thức truy vấn chung của chúng tôi đảm nhiệm việc lặp lại và ra quyết định DAL hoàn thànhTại thời điểm này, DAL của chúng tôi. tập lệnh php đã hoàn thành. Nó sẽ giống như sau 1 2
43 4 51 5
96 54 10 21 31 23 25 require_once(dirname(dirname(__FILE__)) . '/inc/class/DAL.php');0 27 require_once(dirname(dirname(__FILE__)) . '/inc/class/DAL.php');2 29 // Include DAL
1
046 require_once(dirname(dirname(__FILE__)) . '/inc/class/DAL.php');7 48 require_once(dirname(dirname(__FILE__)) . '/inc/class/DAL.php');9 // Include DAL
0290 // Include DAL
2227 // Include DAL
465 // Include DAL
6225 // Include DAL
7227 230 // Include DAL
1231 // Include DAL
5233 234
7236 237 31 239 33 240
12242
14244
16246 // Include DAL
1247 33 249 35 251 37 253
26
2741
2943
31
32
33
9
35
36
37// Include DAL
1
3933
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58______ Bước 6. Sử dụng DALBây giờ, cuối cùng chúng ta hãy đi đến /index của chúng ta. php và hiển thị kết quả của chúng tôi bằng DAL. Tất cả những gì chúng ta cần làm là bao gồm /conf/config. php, khởi tạo DAL và làm điều gì đó với dữ liệu. Đây là một ví dụ 1 2
43 310 4 312 5 6 315 10 317 21 23 320 25 322 27 29 325
0327 46 329 48 331 // Include DAL
033 // Include DAL
2335 // Include DAL
4337 // Include DAL
6339 // Include DAL
7341 230 343 231 345 233 347 234 349 236 351 237 // Include DAL
1239 215 240 357 242 359 244 // Include DAL
1246 // Include DAL
5247
1Như bạn có thể thấy, bây giờ chúng ta có kết quả mà chúng ta có thể gọi tên trường là thuộc tính của một đối tượng PHP Bước 7. Tiến xa hơn một bướcThông thường, sẽ hữu ích khi chuyển đổi DALQueryResult chung thành một đối tượng cụ thể hơn. Trong trường hợp này, bạn có thể viết các đối tượng nghiệp vụ chấp nhận DALQueryResult làm tham số hàm tạo. Sau đó, bạn chỉ cần sử dụng nó để xây dựng đối tượng mới Đây là một ví dụ 1 2
3 4 371 5 373 6 375 10 377 21 33 23 381 25 383 27 385 29 387
0// Include DAL
146 391 48 393 // Include DAL
0395 // Include DAL
2397 // Include DAL
4399 // Include DAL
6401 // Include DAL
7403 230 399 231 407 233 409 234 399 236 413 237 415 239 417 240 227 242 // Include DAL
1244 423 246 425 247 // Include DAL
1249 // Include DAL
5251 253
1Sau đó, chỉ cần viết một truy vấn để trả về một mảng các đối tượng này thay vì một mảng các đối tượng DALQueryResult chung
1 2 435 3 437 4 439 5 33 6 443 10 445 21 447 23 // Include DAL
125 215 27 453 29 455
0457 46 459 48 461 // Include DAL
063 // Include DAL
2465 // Include DAL
4467 // Include DAL
6// Include DAL
1// Include DAL
7// Include DAL
5Việc xây dựng các đối tượng cụ thể có thể trở nên rất hữu ích khi cần tính toán để trích xuất dữ liệu có ý nghĩa từ các trường Làm cách nào để thực hiện truy vấn trong PHP?Chúng ta có thể thực hiện truy vấn đối với cơ sở dữ liệu bằng cách sử dụng phương thức mysqli_query() của PHP . cú pháp. Chúng ta có thể sử dụng phương thức mysqli_query() theo hai cách. Phong cách hướng đối tượng. phong cách thủ tục.
Làm cách nào để chạy truy vấn cơ sở dữ liệu trong PHP?Đầu tiên, chúng tôi thiết lập một truy vấn SQL để chọn các cột id, firstname và lastname từ bảng MyGuests. Dòng mã tiếp theo chạy truy vấn và đặt dữ liệu kết quả vào một biến có tên $result. Sau đó, hàm num_rows() kiểm tra xem có nhiều hơn 0 hàng được trả về không
Làm cách nào để chạy câu lệnh SQL trong PHP?Để chuẩn bị và thực thi một câu lệnh SQL không chấp nhận tham số đầu vào, hãy sử dụng PDO. exec hoặc PDO. phương thức truy vấn . Sử dụng PDO. exec để thực thi một câu lệnh không trả về tập kết quả nào. Sử dụng PDO. phương thức truy vấn để thực thi một câu lệnh trả về một hoặc nhiều tập kết quả.
Làm cách nào để sử dụng PHP trong truy vấn MySQL?Nếu bạn muốn sử dụng PHP để truy vấn cơ sở dữ liệu MySQL của mình, bạn có thể làm điều đó bằng cách nhập lệnh truy vấn MySQL trong tập lệnh PHP hoặc xác định lệnh dưới dạng một biến và sử dụng . . |