GV T Th Xun Hin Tng quan v

  • Slides: 37
Download presentation
GV: Từ Thị Xuân Hiền

GV: Từ Thị Xuân Hiền

Tổng quan về My. SQL § My. SQL là một trong những hệ cơ

Tổng quan về My. SQL § My. SQL là một trong những hệ cơ sở dữ liệu quan hệ phổ biến đang được sử dụng trên Web. Nó có sẵn miễn phí và dễ cài đặt. § Ưu điểm của My. SQL database server § Dễ sử dụng, mạnh mẽ, nhanh chóng, an toàn và có thể mở rộng. § Chạy trên nhiều hệ điều hành: UNIX, Windows, Mac và các hệ điều hành khác. § Hỗ trợ SQL chuẩn. § Là giải pháp cơ sở dữ liệu lý tưởng cho cả các ứng dụng nhỏ và lớn. § Được phát triển và phân phối bởi Oracle Corporation. § Chứa các lớp bảo mật dữ liệu bảo vệ dữ liệu nhạy cảm

Kết nối với My. SQL Server § PHP cung cấp hai cách kết nối

Kết nối với My. SQL Server § PHP cung cấp hai cách kết nối với My. SQL server: § My. SQLi (Improved My. SQL) § PDO (PHP Data Objects) § Hàm mysqli_connect (): giao tiếp giữa PHP và My. SQL database server

Kết nối với My. SQL Server § Phương pháp thủ tục: § Cú pháp:

Kết nối với My. SQL Server § Phương pháp thủ tục: § Cú pháp: $link = mysqli_connect("hostname", "username", "password", "database"); § hostname: chỉ định tên máy chủ (ví dụ: localhost) hoặc địa chỉ IP của máy chủ My. SQL § Username và password: chỉ định thông tin đăng nhập để truy cập máy chủ My. SQL § Databse: nếu được cung cấp sẽ chỉ định CSDL My. SQL mặc định được sử dụng khi thực hiện các truy vấn.

Kết nối với My. SQL Server § Phương pháp thủ tục: § Ví dụ:

Kết nối với My. SQL Server § Phương pháp thủ tục: § Ví dụ: $servername = "localhost"; $username = "username"; $password = "password"; // Create connection $conn = mysqli_connect($servername, $username, $password); // Check connection if (!$conn) { die("Connection failed: ". mysqli_connect_error()); } echo "Connected successfully";

Kết nối với My. SQL Server § Phương pháp hướng đối tượng - PDO:

Kết nối với My. SQL Server § Phương pháp hướng đối tượng - PDO: § Cú pháp: $pdo = new PDO("mysql: host=hostname; dbname=database", "username", "password");

Kết nối với My. SQL Server § Phương pháp hướng đối tượng - PDO:

Kết nối với My. SQL Server § Phương pháp hướng đối tượng - PDO: § Ví dụ: <? php $servername = "localhost"; $username = "username"; $password = "password"; // Create connection $conn = new mysqli($servername, $username, $password); // Check connection if ($conn->connect_error) { die("Connection failed: ". $conn->connect_error); } echo "Connected successfully"; ? >

Đóng kết nối § Kết nối sẽ tự động đóng khi tập lệnh kết

Đóng kết nối § Kết nối sẽ tự động đóng khi tập lệnh kết thúc. § Đóng kết nối theo phương pháp hướng đối tượng <? php $conn->close(); ? > § Đóng kết nối theo phương pháp thủ tục <? php mysqli_close($conn); ? >

Tạo cơ sở dữ liệu trong My. SQL § Tạo CSDL trong php. My.

Tạo cơ sở dữ liệu trong My. SQL § Tạo CSDL trong php. My. Admin: § Khởi động XAMPP, click Start kích hoạt Apache và My. SQL.

Tạo cơ sở dữ liệu trong My. SQL § Trong XAMPP đã có sẵn

Tạo cơ sở dữ liệu trong My. SQL § Trong XAMPP đã có sẵn php. My. Admin, click Admin tương ứng với My. SQL, giao diện php. My. Admin có dạng

Tạo cơ sở dữ liệu trong My. SQL § Tạo database: • Click tab

Tạo cơ sở dữ liệu trong My. SQL § Tạo database: • Click tab Databases, xuất hiện màn hình tạo database, trong phần Create database: • Database name: điền tên database. • Collation: chọn dạng ngôn ngữ hiển thị, chọn utf 8_general_ci. • Click button Create để tạo database.

Tạo cơ sở dữ liệu trong My. SQL § Tạo database: Kết quả

Tạo cơ sở dữ liệu trong My. SQL § Tạo database: Kết quả

Tạo cơ sở dữ liệu trong My. SQL § Tạo user kết nối database:

Tạo cơ sở dữ liệu trong My. SQL § Tạo user kết nối database: • Mặc định, người dùng có thể sử dụng luôn username root của My. SQL để kết nối database, tuy nhiên về lý do bảo mật, nên tạo riêng cho mỗi database một username riêng. • Cách tạo: • Click vào tên CSDL từ danh sách database bên trái • Chọn tab Privileges. • Click chọn Add user account để bắt đầu tạo

Tạo cơ sở dữ liệu trong My. SQL § Tạo user kết nối database:

Tạo cơ sở dữ liệu trong My. SQL § Tạo user kết nối database:

Tạo cơ sở dữ liệu trong My. SQL § Tạo user kết nối database:

Tạo cơ sở dữ liệu trong My. SQL § Tạo user kết nối database: § Tại màn hình tạo tài khoản § ①: Set user name: nhập tên user_tintuc. § ②: host Name: localhost § ③: Set password: thiết lập password, ví dụ: 123456. § ④: Re-type: xác nhận lại mật khẩu. § ⑤: Chọn grand all privileges on database “tintuc” để gán quyền cho người dùng

Tạo cơ sở dữ liệu trong My. SQL § Tạo user kết nối database:

Tạo cơ sở dữ liệu trong My. SQL § Tạo user kết nối database:

Tạo cơ sở dữ liệu My. SQL bằng PHP <? php /*giả sử đã

Tạo cơ sở dữ liệu My. SQL bằng PHP <? php /*giả sử đã kết nối vói server và user 'root' không pass)*/ $link = mysqli_connect("localhost", "root", ""); // Check connection if($link === false){ die("ERROR: Could not connect. ". mysqli_connect_error()); } ? >

Tạo cơ sở dữ liệu My. SQL bằng PHP <? php // tạo database

Tạo cơ sở dữ liệu My. SQL bằng PHP <? php // tạo database bằng câu lệnh sql $sql = "CREATE DATABASE demo"; if(mysqli_query($link, $sql)){ echo "Database created successfully"; } else{ echo "ERROR: Could not able to execute $sql. ". mysqli_error($link); } // Close connection mysqli_close($link); ? >

Tạo bảng § Sau khi tạo Database, tiếp tục tạo các bảng trong cơ

Tạo bảng § Sau khi tạo Database, tiếp tục tạo các bảng trong cơ sở dữ liệu: • Click vào database tintuc ở danh sách bên trái, và chọn tab Structure. • Ở phần Create table điền tên table (ví dụ: tin_xahoi) và số cột (ví dụ: 5 cột).

Tạo bảng § Click nút Go để sang bước điền thông tin cho từng

Tạo bảng § Click nút Go để sang bước điền thông tin cho từng cột.

Tạo bảng • Click nút Save bên dưới để kết thúc việc tạo table.

Tạo bảng • Click nút Save bên dưới để kết thúc việc tạo table.

Tạo bảng § Chỉnh AUTO INCREMENT cho id: vì mỗi khi thêm một hàng

Tạo bảng § Chỉnh AUTO INCREMENT cho id: vì mỗi khi thêm một hàng dữ liệu thì mục id sẽ tự động được tăng thêm 1. • Tại hàng id, cột Action, Click chọn Change.

Tạo bảng • Ở màn hình điều chỉnh, tìm và click chọn checkbox ở

Tạo bảng • Ở màn hình điều chỉnh, tìm và click chọn checkbox ở vị trí A_I. • Click Save để thay đổi điều chỉnh và xem kết quả.

Tạo bảng § Chỉnh KHÓA CHÍNH cho id: Mỗi table chỉ có một khóa

Tạo bảng § Chỉnh KHÓA CHÍNH cho id: Mỗi table chỉ có một khóa chính § Tại hàng id, cột Action, Click chọn Primary, khi đó sẽ có màn hình confirm xuất hiện, click Ok để xác nhận.

Tạo bảng § Chèn dữ liệu vào bảng từ php. My. Admin § Chọn

Tạo bảng § Chèn dữ liệu vào bảng từ php. My. Admin § Chọn table cần chèn ở danh sách bên trái, sau đó click chọn tab Insert.

Chèn dữ liệu vào bảng § Chèn dữ liệu vào bảng bằng lệnh /*

Chèn dữ liệu vào bảng § Chèn dữ liệu vào bảng bằng lệnh /* Attempt My. SQL server connection. Assuming you are running M y. SQL server with default setting (user 'root' with no password) */ $link = mysqli_connect("localhost", "root", "demo"); // Check connection if($link === false){ die("ERROR: Could not connect. ". mysqli_connect_error()); }

Chèn dữ liệu vào bảng § Chèn dữ liệu vào bảng bằng lệnh //

Chèn dữ liệu vào bảng § Chèn dữ liệu vào bảng bằng lệnh // Attempt insert query execution $sql ="INSERT INTO persons (first_name, last_name, email) VA LUES ('Peter', 'Parker', 'peterparker@mail. com')"; if(mysqli_query($link, $sql)){ echo "Records inserted successfully. "; } else{ echo "ERROR: Could not able to execute $sql. ". mysqli_ error($link); }

Chèn dữ liệu vào bảng § Chèn dữ liệu vào bảng bằng lệnh //

Chèn dữ liệu vào bảng § Chèn dữ liệu vào bảng bằng lệnh // Close connection mysqli_close($link); ? >

Chèn dữ liệu vào bảng thông qua Form § Bước 1: Tạo Form <form

Chèn dữ liệu vào bảng thông qua Form § Bước 1: Tạo Form <form action="insert. php" method="post"> <p> <label for="first. Name">First Name: </label> <input type="text" name="first_name" id="first. Name"> </p> <label for="last. Name">Last Name: </label> <input type="text" name="last_name" id="last. Name"> </p> <label for="email. Address">Email Address: </label> <input type="text" name="email" id="email. Address"> </p> <input type="submit" value="Submit"> </form>

Chèn dữ liệu vào bảng thông qua Form § Bước 2: Truy xuất và

Chèn dữ liệu vào bảng thông qua Form § Bước 2: Truy xuất và chèn dữ liệu từ form <? php /* (user 'root' with no password) */ $link = mysqli_connect("localhost", "root", "demo"); // Check connection if($link === false){ die("ERROR: Could not connect. ". mysqli_connect_error()); } // Escape user inputs for security $first_name = mysqli_real_escape_string($link, $_REQUEST['first_name']); $last_name = mysqli_real_escape_string($link, $_REQUEST['last_name']); $email = mysqli_real_escape_string($link, $_REQUEST['email']);

Chèn dữ liệu vào bảng thông qua Form § Bước 2: Truy xuất và

Chèn dữ liệu vào bảng thông qua Form § Bước 2: Truy xuất và chèn dữ liệu từ form // Attempt insert query execution $sql = "INSERT INTO persons (first_name, last_name, email) VALUES ('$first_name', '$last_name', '$email')"; if(mysqli_query($link, $sql)){ echo "Records added successfully. "; } else{ echo "ERROR: Could not able to execute $sql. ". mysqli_er ror($link); } // Close connection mysqli_close($link); ? >

Lấy dữ liệu từ bảng § Ví dụ: Bảng dữ liệu như sau

Lấy dữ liệu từ bảng § Ví dụ: Bảng dữ liệu như sau

Lấy dữ liệu từ bảng § Cú pháp: SELECT column 1, column 2, column.

Lấy dữ liệu từ bảng § Cú pháp: SELECT column 1, column 2, column. N FROM table_name; § Ví dụ: <? php /* default setting (user 'root' with no password) */ $link = mysqli_connect("localhost", "root", "demo"); // Check connection if($link === false){ die("ERROR: Could not connect. ". mysqli_connect_error()); } $sql = "SELECT * FROM persons“;

Lấy dữ liệu từ bảng § Ví dụ (tt): if($result = mysqli_query($link, $sql)){ if(mysqli_num_rows($result)

Lấy dữ liệu từ bảng § Ví dụ (tt): if($result = mysqli_query($link, $sql)){ if(mysqli_num_rows($result) > 0){ echo "<table>"; echo "<tr>"; echo "<th>id</th>"; echo "<th>first_name</th>"; echo "<th>last_name</th>"; echo "<th>email</th>"; echo "</tr>"; while($row = mysqli_fetch_array($result)){ echo "<tr>"; echo "<td>". $row['id']. "</td>"; echo "<td>". $row['first_name']. "</td>"; echo "<td>". $row['last_name']. "</td>"; echo "<td>". $row['email']. "</td>"; echo "</tr>"; } echo "</table>"; }

Lấy dữ liệu từ bảng § Ví dụ (tt): else{ echo "No records matching

Lấy dữ liệu từ bảng § Ví dụ (tt): else{ echo "No records matching your query were found. "; } } else{ echo "ERROR: Could not able to execute $sql. ". mysqli_error($link); } // Close connection mysqli_close($link); ? >