Bài giảng Lập trình trang web động - Chương 6: Xây dựng và kết nối database MySql trong PHP được biên soạn với các kiến thức khái niệm cơ sở dữ liệu; cơ sở dử liệu MySQL; thực thi các truy vấn SQL; truy vấn làm việc với các cơ sở dữ liệu; truy vấn thao tác với bảng; truy vấn thao tác với bản ghi; kết nối MySQL với PHP.
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI Chương Xây dựng kết nối database MySql PHP Nguyễn thị Quỳnh Hoa - Khoa CNTT- ĐH Sư phạm Hà Nội NỘI DUNG Cơ sở liệu MySQL Khái niệm Hệ quản trị Chức Quan hệ MySQL Đặc điểm Cài đặt Tập tin lưu trữ Đặc điểm MySQL • Là hệ quản trị CSDL quan hệ • Sử dụng cho ứng dụng Web • Thực thao tác CSDL qua giao diện đồ họa hay dùng dòng lệnh Cài đặt • Là phần mềm mã nguồn mở tải miễn phí từ trang chủ • Nó có nhiều phiên cho hệ điều hành khác Tập tin lưu trữ • Mỗi bảng lưu trữ dạng ba tập tin vật lý : o.frm:lưu định dạng (cấu trúc) bảng o.MYD: lưu nội dung bảng o.MYI : lưu mục bảng • Các tập tin tự động lưu trữ thư mục : xampp\mysql\data\tên_CSDL THỰC THI CÁC TRUY VẤN SQL TRUY VẤN QUA MySQL Consle Mở cửa sổ CMD (Start->Run->cmd[Enter]) Chuyển tới thư mục chứa file mysql.exe (Cd c:\xampp\mysql\bin) Gọi file mysql với tham số username password (Mysql – u root – p[Enter]) Nhập mật tương ứng với user Nhập truy vấn SQL bấm Enter để thực thi TRUY VẤN SQL QUA PHPMyAdmin Mở cửa sổ phpmyadmin http://localhost/phpmyadmin Bật cửa sổ SQL Nhập câu lệnh SQL Kết thúc phím Enter 10 Bước $conn=mysqli_query($conn,”Lệnh SQL”) or die (“Không kết nối được”); Mysqli_multi_query(“SQL1;SQL2;”) : thực nhiều câu query 32 Bước Các hàm cần thiết : Mysqli_affected_rows() : Số ghi bị tác động lệnh mysqli_query liền trước Mysqli_error() : Thơng báo lỗi (nếu có) Mysqli_errno() : Mã lỗi 33 Bước (tt) Trong trường hợp bước SELECT $rs=mysqli_query($conn,”SELECT ”) or die (“Không kết nối được”); Các hàm cần thiết : Mysqli_num_rows($rs) : Số lượng ghi $rs $r=mysqli_fetch_array($rs): Trả dòng $rs vào $r dạng mảng $r=mysqli_fetch_assoc($rs) : trả dạng mảng $r=mysqli_fetch_object($rs): Trả dòng $rs vào $r dạng object 34 Bước mysqli_close($biến_kết_nối) 35 Sử dụng tiếng Việt Phần không sử dụng CSDL MySQL phải lưu tệp với mã UTF-8 phần thẻ head Phần sử dụng CSDL MySQL : Khai báo câu lẹnh : mysqli_query($conn,”SET NAMES ‘utff8’”) trước câu lệnh mysqli_query($conn,$sql) với $sql câu lệnh Select Ví dụ: 36 Thực truy cập CSDL MySQL hướng đối tượng Bước : Tạo kết nối đến database server Bước : Xây dựng truy vấn thực truy vấn Bước : Xử lý kết trả vè Bước : Đóng kết nối đến Server 37 Bước $conn=mysqli_connect(“máy_chủ”,”tên”,” mật_khẩu”,”tên csdl”); If($conn->connect_error) die (“Không kết nối được”.$conn->connect_error); 38 Bước $biến=$conn->query(”Lệnh SQL”) or die (“Không kết nối được”); $conn->multi_query(“$sql”) : thực nhiều câu truy vấn lúc 39 Bước Trong trường hợp bước SELECT $rs=$conn->query(”SELECT ”) Các hàm cần thiết : $rs->num_rows($rs) : Số lượng ghi $rs $r=$rs->fetch_assoc(): Trả dòng $rs vào $r dạng mảng $r=$rs->fetch_array : Trả dòng $rs vào $r dạng mảng $r=$rs->fetch_object : Trả dòng $rs vào $r dạng mảng 40 Bước $conn->close(); 41 Thực truy cập CSDL MySQL với PHP data object Bước : Tạo kết nối đến database server Bước : Xây dựng truy vấn thực truy vấn Bước : Xử lý kết trả vè Bước : Đóng kết nối đến Server 42 Bước 43 Bước $conn->exec(“lệnh sql”); trả số ghi bị tác động, không dùng cho câu lệnh select $conn->query(“lệnh sql”); $conn->prepare(); $conn->excute() 44 Bước Trong trường hợp bước SELECT $st=$conn->prepare(“SELECT ”) $st->excute(); trả object $st->fetchAll() : Lấy tất liệu trả mảng $st ->fetch() : lấy ghi $st->rowCount() : số ghi $st->setFetchMode(PDO::FETCH_ASSOC); thiết lập chế độ fetch liệu Hoặc $st=$conn->query(“select…”);trả mảng 45 Bước $conn->null; 46 ... trị CSDL quan hệ • Sử dụng cho ứng dụng Web • Thực thao tác CSDL qua giao diện đồ họa hay dùng dịng lệnh Cài đặt • Là phần mềm mã nguồn mở tải miễn phí từ trang chủ • Nó có nhiều phiên cho hệ điều... file mysql.exe (Cd c:\xampp\mysql\bin) Gọi file mysql với tham số username password (Mysql – u root – p[Enter]) Nhập mật tương ứng với user Nhập truy vấn SQL bấm Enter để thực thi TRUY VẤN SQL... số ghi $st->setFetchMode(PDO::FETCH_ASSOC); thiết lập chế độ fetch liệu Hoặc $st=$conn->query(“select…”);trả mảng 45 Bước $conn->null; 46