Trải qua 25 bài php căn bản thì chúng ta mới chỉ tìm hiểu râu ria bên ngoài các kiến thức về kỹ thuật lập trình nên có lẽ các bạn cảm thấy chưa HƯNG PHẤN ,vì vậy để các bạn không bị chán thì trong bài này chúng ta sẽ tìm hiểu cách kết nối CSDL MYSQL với php và một số hàm xử lý database nhé.

Nội dung chính

  • 1. Tạo Database
  • 2. Kết nối database với php
  • 3. Câu truy vấn lấy danh sách record
  • 4. Câu truy vấn delete
  • 5. Câu truy vấn update
  • 6. Lời kết



1. Tạo Database

Trước tiên chúng ta tạo một database để test đã nhé, các bạn vào phpmyadmin và tạo một cơ sở dữ liệu tên là demo và tạo một table tên là customer bằng cách chạy câu truy vấn sau:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE IF NOT EXISTS `customer` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(200) COLLATE utf8_unicode_ci DEFAULT NULL,
  `phone` VARCHAR(200) COLLATE utf8_unicode_ci DEFAULT NULL,
  `address` VARCHAR(500) COLLATE utf8_unicode_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=INNODB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
INSERT INTO `customer` (`id`, `name`, `phone`, `address`) VALUES
(1, 'Nguyen Van A', '0970 306 603', NULL),
(2, 'Nguyen Van B', '0970 306 603', NULL),
(3, 'Nguyen Van C', '0970 306 603', NULL),
(4, 'Nguyen Van D', '0970 306 603', NULL);

 

Chúng ta sẽ thao tác với dữ liệu này.

2. Kết nối database với php

Để kết nối vào database ta sẽ dùng hàm mysqli_connect với cấu trúc như sau:

 

1
mysqli_connect($host, $user, $password, $database, $port, $socket).

 

Trong đó:

  • $host: là địa chỉ host của bạn, thông thường là localhost luôn
  • $user: là tên đăng nhập vào database
  • $password: là mật khẩu kết nối vào database
  • $database: Tên database bạn chọn để xử lý
  • $port: Cổng kêt nối
  • $socket: Phương thức socket kết nối

Ví dụ:

 

1
$conn = mysqli_connect('localhost', 'root', 'vertrigo', 'demo') or die ('Không thể kết nối tới database');

 

Tất cả những tham số đó thì ta chỉ quan tâm đến 4 tham số đầu tiên, 2 tham số còn lại bạn khỏi truyền vào nhé. Còn đoạn code or die ('Không thể kết nối tới database') dùng cho trường hợp không thể kết nối tới CSDL thì sẽ in ra màn hình dòng thông báo đó.

3. Câu truy vấn lấy danh sách record

Bạn tạo file demo.php với nội dung 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
// Kết nối CSDL và lưu vào biến kết nối
// Các tham số gồm:
// - localhost: là tên server, thường mặc định là localhost luôn
// - root: là tên đăng nhập vào database
// - vertrigo: là mật khẩu đăng nhập vào database
// - demo: Là database sẽ xử lý
$conn = mysqli_connect('localhost', 'root', 'vertrigo', 'demo') or die ('Không thể kết nối tới database');
// Câu truy vấn
$sql = 'SELECT * FROM CUSTOMER';
// Thực hiện câu truy vấn, hàm này truyền hai tham số vào là biến kết nối và câu truy vấn
$result = mysqli_query($conn, $sql);
// Nếu thực thi không được thì thông báo truy vấn bị sai
if (!$result){
    die ('Câu truy vấn bị sai');
}
// Lặp qua kết quả và in ra ngoài màn hình
// Vì các field trong database là id, name, phone, address nên
// khi vardum mang sẽ có cấu trúc tương tự
while ($row = mysqli_fetch_assoc($result)){
    var_dump($row);
}
// Xóa kết quả khỏi bộ nhớ
mysqli_free_result($result);
// Sau khi thực thi xong thì ngắt kết nối database
mysqli_close($conn);

 



Để thực thi câu truy vấn bất kỳ thì ta dùng hàm mysqli_query()nếu câu truy vấn trả về danh sách thì ta sẽ dùng vòng lặp while để hiển thị nó ra. Chi tiết mình đã mô tả trong phần comment rồi nhé.

4. Câu truy vấn delete

Tương tự như phần 3, bạn sẽ viết một câu truy vấn delete và sau đó dùng hàm mysqli_query() để thực hiện.

Ví dụ:

 

1
2
3
4
5
6
7
8
9
10
11
12
$conn = mysqli_connect('localhost', 'root', 'vertrigo', 'demo') or die ('Không thể kết nối tới database');
// Câu truy vấn
$sql = 'DELETE FROM customer WHERE id = 1';
// DELETE
if (mysqli_query($conn, $sql)){
    echo 'Xóa thành công';
}
// Ngắt kết nối
mysqli_close($conn);

 

5. Câu truy vấn update

Ta sẽ viết một câu truy vấn update và thực thi tương tự như phần 3,4.

Ví dụ:

 




1
2
3
4
5
6
7
8
9
10
11
12
$conn = mysqli_connect('localhost', 'root', 'vertrigo', 'demo') or die ('Không thể kết nối tới database');
// Câu truy vấn
$sql = "UPDATE customer SET name = 'TEN MOI' where id = 2";
// DELETE
if (mysqli_query($conn, $sql)){
    echo 'Cập nhật thành công';
}
// Ngắt kết nối
mysqli_close($conn);

 

Note: Vì các bạn đang học hàm kết nối nên ở mỗi thao tác bạn vào database xem có thay đổi không nhé, ở những bài tiếp theo mình sẽ hướng dẫn viết HTML cụ thể hơn.

6. Lời kết

Trong bài này chỉ mang tính chất giới thiệu cách sử dụng một số hàm kết nối bằng cách dùng MYSQLI, ở những bài tiếp theo chúng ta sẽ tìm hiểu cụ thể và rõ ràng hơn. Bài tiếp theo chúng ta sẽ viết chức năng đăng ký thành viên với PHP. Chúc các bạn học tốt.

174 BÌNH LUẬN

  1. I think other website proprietors should take this site as an model, very clean and wonderful user friendly style and design, as well as the content. You are an expert in this topic!

  2. Your posts customarily consist of a correct amount of truly up to date information. Everyplace accomplish you extend up with this? Emphatically declaring you are fantastically creative. Thanks again

  3. Wonderful blog! I found it while browsing on Yahoo News. Do you have any suggestions on how to get listed in Yahoo News? I ave been trying for a while but I never seem to get there! Thank you

  4. I was suggested this website by my cousin. I am not sure whether this post is written by him as nobody else know such detailed about my trouble. You are amazing! Thanks!

  5. IaаАа’б‚Т€ТšаЂаŒаАа’б‚Т€ТžаБТžm a lengthy time watcher and I just considered IaаАа’б‚Т€ТšаЂаŒаАа’б‚Т€ТžаБТžd drop by and say hello there there for the very initially time.

  6. This unique blog is really awesome as well as factual. I have discovered a lot of useful tips out of this amazing blog. I ad love to come back over and over again. Cheers!

  7. You have mentioned very interesting points ! ps decent website. What a grand thing, to be loved What a grander thing still, to love by Victor Hugo.

  8. La prevalencia de esta enfermedad se estima en torno al 1– 10% en menores de 40 años, 2– 9% entre los 40 y los 50 años, un 20– 40% entre 60 y 70 años y 50– 100% en mayores de 70 años. La entrega gratis por toda España. ¿Qué son los problemas para mantener la erección? Tadalafil bajo el nombre de Cialis se usa en el tratamiento de la disfunción eréctil (impotencia) y síntomas de hiperplasia prostática benigna (próstata agrandada).

  9. Hey this is kind of of off topic but I was wanting to know if blogs use WYSIWYG editors or if you have to manually code with
    HTML. I’m starting a blog soon but have no coding know-how so I wanted to get
    advice from someone with experience. Any help would be
    enormously appreciated!

  10. Los sobre loa problemas de la la disfunción eréctil no se ha hablado nunca libremente, porque la gente piensa que es algo que debe permanecer en secreto y de esto han sufrido muchos de los hombres que han tenido temor de discutir sus problemas sexuales con un especialista, es humillante para el hombre y lo pone en una situación sin salida.

  11. Heya i am for the first time here. I found this board and I find It truly useful & it helped me out a lot.

    I hope to give something back and help others like you aided me.

  12. Greetings I am so glad I found your webpage, I really found you by mistake, while I was browsing on Askjeeve for something else, Anyways I am here now and would
    just like to say thanks for a marvelous post
    and a all round interesting blog (I also love the theme/design), I don’t have time to read it all at the moment but I have saved it and also added in your
    RSS feeds, so when I have time I will be back to read much more, Please do keep up the
    fantastic work.

  13. Do you mind if I quote a couple of your articles
    as long as I provide credit and sources back to your blog?

    My blog site is in the very same niche as yours and my visitors would really benefit
    from some of the information you provide here. Please let me know if this ok with you.
    Thanks a lot!

  14. You have made some really good points there. I looked on the net for additional information about the issue and found most individuals will go along with your views on this site.

  15. This blog is obviously cool additionally informative. I have chosen a bunch of useful stuff out of this blog. I ad love to return every once in a while. Thanks a lot!

  16. This is really interesting, You are a very skilled blogger. I ave joined your feed and look forward to seeking more of your fantastic post. Also, I ave shared your web site in my social networks!

  17. It as really a great and useful piece of information. I am satisfied that you just shared this useful tidbit with us. Please stay us up to date like this. Thank you for sharing.

THOÁT KHỎI BÌNH LUẬN

Please enter your comment!
Please enter your name here