intTypePromotion=1

MySQL & PHP

Chia sẻ: Tran Tuananh | Ngày: | Loại File: PDF | Số trang:20

0
73
lượt xem
15
download

MySQL & PHP

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Sơ lược về web Các trang web hiển thị trên trình duyệt được mô tả bằng ngôn ngữ HTML HTML là một ngôn ngữ đánh dấu, dùng các thẻ (tag) và thuộc tính (attribute) để mô tả các đối tượng trong văn bản cần hiển thị Mỗi đối tượng được bao bởi một thẻ mở và một thẻ đóng . Nếu trong đối tượng không chứa gì, có thể viết gộp thẻ đóng và thẻ mở làm một: Thuộc tính được định nghĩa trong thẻ mở: ... Các đối tượng có thể được định nghĩa lồng nhau...

Chủ đề:
Lưu

Nội dung Text: MySQL & PHP

  1. MySQL & PHP EE4509, EE6133 – HK2 2011/2012 1 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  2. Sơ lược về web Các trang web hiển thị trên trình duyệt được mô tả bằng ngôn ngữ  HTML HTML là một ngôn ngữ đánh dấu, dùng các thẻ (tag) và thuộc tính  (attribute) để mô tả các đối tượng trong văn bản cần hiển thị  Mỗi đối tượng được bao bởi một thẻ mở và một thẻ đóng . Nếu trong đối tượng không chứa gì, có thể viết gộp thẻ đóng và thẻ mở làm một:  Thuộc tính được định nghĩa trong thẻ mở: ...  Các đối tượng có thể được định nghĩa lồng nhau Ví dụ:  text: mô tả một đoạn văn bản  : mô tả  một bức ảnh EE4509, EE6133 – HK2 2011/2012 2 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  3. Cấu trúc một trang web Một trang web là một file văn bản có cấu trúc cơ bản như sau:   Tiêu đề trang web Nội dung Các thẻ cơ bản:   : chứa toàn bộ các phần tử của trang web  : chứa các thông tin về văn bản như tiêu đề, từ khoá,…  : tiêu đề trang web  : phần nội dung của trang web EE4509, EE6133 – HK2 2011/2012 3 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  4. Web nội dung tĩnh Web Browser Web Service network (Firefox, Chrome, (Apache, IIS,…) IE, Webkit,…) Các trang web bằng HTML có nội dung cố định  Chỉ thay đổi khi người quản trị cập nhật  Người dùng không thể tương tác và thay đổi nội dung  của trang web Không thể tuỳ biến nội dung trang web tuỳ theo thời gian,  người dùng,… hay các điều kiện khác  W eb nội dung động: Lập trình để sinh ra mã HTML bằng các ngôn ngữ web  EE4509, EE6133 – HK2 2011/2012 4 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  5. Cơ chế hoạt động của web nội dung động Web Browser Web Script Web Service network (Firefox, Chrome, (PHP, ASP, JSP,…) (Apache, IIS,…) IE, Webkit,…) network Database (MySQL, MSSQL,…) EE4509, EE6133 – HK2 2011/2012 5 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  6. Giới thiệu PHP PHP  Một ngôn ngữ rất phổ biến để lập trình web  Ngôn ngữ dạng script khá gần với C  Không sử dụng con trỏ hay địa chỉ  Nguyên tắc hoạt động:  Sinh ra mã HTML của trang web bằng các hàm print(),  echo() Chạy trực tiếp không qua biên dịch  Mã lệnh PHP nằm trong thẻ  EE4509, EE6133 – HK2 2011/2012 6 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  7. Ví dụ một PHP script Nội dung
  8. Một số khái niệm của PHP Biến:  Dùng dấu $ trước tên, không cần khai báo, không có kiểu  cố định $x = 100;  $x = 'Value: ' . $x; Mảng:  for ($i=0; $i
  9. MySQL với PHP PHP cung cấp sẵn một thư viện để truy cập các  CSDL sử dụng MySQL Các tính năng và cáh sử dụng tương tự như thư  viện MySQL bằng ngôn ngữ C Thiết lập kết nối  Thực hiện các câu truy vấn  Lấy kết quả  Kiểm tra lỗi  EE4509, EE6133 – HK2 2011/2012 9 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  10. Tham số của trang web với phương thức GET Khái niệm:  Tương tự như việc các  chương trình có tham số từ dòng lệnh, các trang web cũng có các tham số được cho ở URL PHP cho phép sử dụng các tham số này thông qua mảng  $HTTP_GET_VARS (với chỉ số là tên của tham số) Ví dụ:  print('ID: ' . $HTTP_GET_VARS['ID'] . '' . 'Name: ' . $HTTP_GET_VARS['Name'] . '' . 'Sex: ' . $HTTP_GET_VARS['Sex']); EE4509, EE6133 – HK2 2011/2012 10 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  11. Sử dụng MySQL trong PHP EE4509, EE6133 – HK2 2011/2012 11 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  12. Thiết lập và đóng kết nối Thiết lập kết nối:  mysql_connect($server, $username, $password)  Trả về kết nối được thiết lập  Chọn CSDL làm việc:  mysql_select_db($db_name)  Đóng kết nối:  mysql_close($conn)  Ví dụ:  $server = '192.168.1.50';  $usr = 'abc'; $pwd = '12345'; $db_name = 'myweb'; $conn = mysql_connect($server, $usr, $pwd); if ($conn == null) exit('Database error'); mysql_select_db($db_name); // Do stuff... mysql_close($conn); EE4509, EE6133 – HK2 2011/2012 12 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  13. Kiểm tra lỗi Dùng các hàm sau để lấy thông tin về lỗi:  Mã lỗi: int mysql_errno($conn)  Thông điệp lỗi: string mysql_error($conn)  Ví dụ:  $conn = mysql_connect($server, $usr, $pwd);  if ($conn == null) { print('Error ' . mysql_errno($conn) . ': ' . mysql_error($conn)); exit(1); } EE4509, EE6133 – HK2 2011/2012 13 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  14. Thực hiện câu truy vấn Để thực hiện câu truy vấn, dùng hàm:  mysql_query($query, $conn)  Các tham số:  $query: chuỗi ký tự chứa câu truy vấn  $conn: kết nối đã được thiết lập  Kết quả trả về:  Nếu xảy ra lỗi, trả về FALSE  Nếu thành công, tuỳ thuộc câu truy vấn  SELECT: trả về kết quả  INSERT, UPDATE, DELETE, DROP: trả về TRUE  EE4509, EE6133 – HK2 2011/2012 14 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  15. Lấy kết quả trả về của câu lệnh SELECT Sau khi thực hiện câu truy vấn, gọi hàm sau để lấy  từng hàng kết quả: array mysql_fetch_array($result, $type)  $type: kiểu chỉ số mảng  MYSQL_ASSOC: chỉ số bằng tên thuộc tính  MYSQL_NUM: chỉ số bằng số thứ tự  MYSQL_BOTH: cả hai chỉ số  Cuối cùng, kết thúc và giải phóng bộ nhớ đệm chứa  kết quả: mysql_free_result($result)  Di chuyển con trỏ đọc kết quả:  mysql_data_seek($result, $row_num)  EE4509, EE6133 – HK2 2011/2012 15 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  16. Các thông tin về kết quả trả về Số thuộc tính (trường) của kết quả:  int mysql_num_fields($result)  Số hàng:  int mysql_num_rows($result)  ID của dữ liệu mới được thêm (câu lệnh INSERT):  int mysql_insert_id($result)  ID phải được định nghĩa với thuộc tính AUTO_INCREMENT  Số hàng đã bị thay đổi (câu lệnh INSERT, UPDATE,…)  int mysql_affected_rows($result)  EE4509, EE6133 – HK2 2011/2012 16 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  17. Ví dụ - SELECT $result = mysql_query('select ID, NICKNAME, NAME from USER‘, $conn); if ($result == FALSE) handle_error($conn); $row = mysql_fetch_array($result, MYSQL_NUM); $num_rows = mysql_num_rows($result); print('Number of rows: ' . $num_rows . ''); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { print('ID: ' . $row['ID'] . ', ' . 'Nickname: ' . $row['NICKNAME'] . ', ' . 'Name: ' . $row['NAME'] . ''); } mysql_free_result(result); EE4509, EE6133 – HK2 2011/2012 17 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  18. Ví dụ - INSERT if (mysql_query("insert into USER(username, password, level) values('superhero', 'chipchip', 3 )", $conn) == FALSE) handle_error($conn); print(mysql_affected_rows($conn) . ' rows added'); print('ID of inserted user: ' . mysql_insert_id($conn)); EE4509, EE6133 – HK2 2011/2012 18 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  19. Ví dụ - UPDATE if (mysql_query('update USER set level = 5 where id in (2, 3, 4)', $conn) == FALSE) handle_error($conn); print(mysql_affected_rows($conn) . ' rows updated'); EE4509, EE6133 – HK2 2011/2012 19 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
  20. Bài tập Định nghĩa một quan hệ SinhVien, sau đó viết một 1. chương trình PHP thêm vào CSDL một sinh viên và in ra ID của sinh viên vừa được thêm Viết chương trình PHP nhập ID của một sinh viên 2. và in ra thông tin của sinh viên đó Viết chương trình PHP nhập tên của sinh viên và in 3. ra thông tin những người có tên như đã nhập EE4509, EE6133 – HK2 2011/2012 20 TS. Đào Trung Kiên – ĐH Bách khoa Hà Nội
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2