Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 61 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
61
Dung lượng
5,4 MB
Nội dung
Kết nối PHP với MySQL Ths Lương Trần Hy Hiến, khoa CNTT, ĐH Sư phạm TpHCM Nội dung Các kiểu liệu MySQL Các lệnh thông dụng MySQL Kết nối MySQL từ PHP Quy trình kết nối vào MySQL Các bước truy cập CSDL MySQL Các kiểu liệu MySQL Kiểu Mô tả char(length) tối đa 255 ký tự, chiều dài cố định = length varchar(length) tối đa 255 ký tự, chiều dài động [...]... -p mysql [-h hostname] [-P portnumber] user=user -password=pass Nhập lệnh sau dấu nhắc lệnh mysql> Mỗi lệnh SQL kết thúc bằng dấu ; 13 Giao tiếp đồ họa • Một số công cụ thông dụng SQLyog Enterprise phpMyAdmin MySQL Query Browser MySQL Maestros Navicat MySQL Manager 14 3 Kết nối MySQL từ PHP PHP script mysql mysqli Sử dụng hàm Sử dụng lớp mysql mysqli mysqli_stmt mysqli_result PDO Sử dụng hàm mysqli... Thư viện mysql cải tiến trong PHP5 • Thiết lập trong php. ini extension =php_ mysqli.dll • Ưu điểm – – – – Hỗ trợ lập trình hướng đối tượng Hỗ trợ nhân bản và phân tán CSDL Nén và mã hóa dữ liệu trên kết nối Tối ưu hiệu năng và mã • Nhược điểm – Chỉ làm việc với CSDL MySQL 16 4 Quy trình kết nối vào MySQL 1 2 3 4 5 6 Mở kết nối đến CSDL Chọn CSDL Chọn bảng mã (nếu cần) Xử lý CSDL Dọn dẹp Đóng kết nối 17... dẹp // OOP mysqli $result->close() // mysqli mysqli_free_result($result) 23 Bước 6: Đóng kết nối // OOP mysqli $mysqli->close() // mysqli mysqli_close($link) 24 5 Các bước truy cập CSDL MySQL 1 2 3 4 5 Tạo kết nối đến database server Lựa chọn CSDL Xây dựng truy vấn và thực hiện truy vấn Xử lý kết quả trả về Đóng kết nối đến server 25 Khai báo sử dụng CSDL MySQL •Khai báo kết nối CSDL: < ?php $dbhost... Mở kết nối đến CSDL // OOP mysqli $mysqli = new mysqli('hostname', 'username', 'password', 'dbname'); // mysqli $link = mysqli_connect('hostname', 'username', 'password', 'dbname'); 18 Bước 2: Chọn CSDL // OOP mysqli $mysqli->select_db('dbname'); // mysqli mysqli_select_db($link, 'dbname'); 19 Bước 3: Chọn bảng mã (nếu cần) // OOP mysqli mysqli->query($link, "SET NAMES ‘character set’") // mysqli mysqli_query($link,... trước – mysqli_error(): Thông báo lỗi (nếu có) – mysqli_errno(): Mã lỗi 28 PHP Data Objects 29 PDO (PHP Data Object) • Ưu điểm: – Áp dụng từ PHP 5.0 (tích hợp sẵn trong PHP 5.1) – Cung cấp giao tiếp hướng đối tượng – Cung cấp một giao tiếp nhất quán cho phép lưu chuyển dữ liệu giữa các hệ cơ sở dữ liệu khác nhau như Oracle, DB2, Microsoft SQL Server, PostgreSQL • Nhược điểm: – Không làm việc trên PHP. .. or MySQL' ); ?> = ‘localhost’; = 'root'; = 'password'; mysqli_connect($dbhost, $dbuser, die (Không thể kết nối CSDL •Chọn Database làm việc $dbname =‘bookstore‘; mysqli_select_db($dbname); •Giải phóng Database mysqli_close($conn); 26 Khai báo sử dụng CSDL MySQL (tt) • Truy vấn dữ liệu: $result = mysqli_query(‘câu_truy_vấn’); • Giải phóng tài nguyên truy vấn mysqli_free_result($result ); • Sử dụng kết. .. vấn: mysqli_fetch_array($result); mysqli_fetch_row($result); mysqli_fetch_assoc($result); • Sử dụng tiếng việt: mysqli_query(“SET CHARACTER SET UTF8”); Hay mysqli_query(“SET NAMES UTF8”); 27 Lưu ý • Hàm die(“Chuỗi”): Đưa ra thông báo và kết thúc • Với cách viết trên, die chỉ thực hiện khi lệnh trước nó không thành công • Các hàm cần thiết: – mysqli_affected_rows(): Số bản ghi bị tác động bởi lệnh mysqli_query...2 Các lệnh thông dụng trong MySQL UPDATE tablename SET columname = value, [WHERE ]; VD: UPDATE ketqua SET diem = 10 WHERE MaSV = ‘K29.103.010’ 11 2 Các lệnh thông dụng trong MySQL DROP DATABASE | INDEX | PROCEDURE | TABLE | TRIGGER | USER | VIEW itemname; VD: • Xóa bảng SINHVIEN: DROP TABLE SinhVien • Xóa CSDL QLSV: DROP DATABASE QLSV; 12 Giao tiếp dòng lệnh • Kết nối mysql server mysql [-h hostname]... 4: Xử lý CSDL • Truy vấn // OOP mysqli $result = mysqli->query(“query") // mysqli $result = mysqli_query($link, “query") 21 Bước 4: Xử lý CSDL (tt) • Lấy dữ liệu từ truy vấn // OOP mysqli $row = $result->fetch_row() $row = $result->fetch_assoc() $row = $result->fetch_array(result_type) // mysqli $row = mysqli_fetch_row($result) $row = mysqli_fetch_assoc($result) $row = mysqli_fetch_array($result, result_type)... bản < 5.0 – Không tận dụng ưu điểm của các tính năng tiên tiến mới của MySQL phiên bản 4.1.3 trở lên, như tính năng lồng câu lệnh SQL 30 Kết nối CSDL PDO try { $dbh = new PDO($dsn, $user, $password, $options); } catch (PDOException $e) { echo “Failed to connect:” $e->getMessage(); } 31 DSN format in PDO • Driver:optional_driver_specific_stuff – sqlite:/path/to/db/file – sqlite::memory: – mysql: host=name;dbname=dbname