Hướng dẫn what does mysqli_query mean? - mysqli_query nghĩa là gì?
PHP có một bộ sưu tập của các hàm MySQLi được xây dựng sẵn để thao tác cơ sở dữ liệu.có một bộ sưu tập của các hàm MySQLi được xây dựng sẵn để thao tác cơ sở dữ liệu. Show
Trong bài này bạn sẽ được học về:
Cách thao tác với CSDL sử dụng hàm MySQLi trong PHP 1. Hàm mysqli_connect trong PHPHàm mysqli_connect được sử dụng để kết nối với một MySQL database server. mysqli_connect được sử dụng để kết nối với một MySQL database server. Hàm mysqli có cú pháp sau: $db_handle = mysqli_connect($db_server_name, $db_user_name, $db_password); = mysqli_connect($db_server_name, $db_user_name, $db_password); Giải thích cú pháp của hàm mysqli_connect:
2. Hàm mysqli_select_dbCác hàm mysqli_select_db được sử dụng để chọn một cơ sở dữ liệu.mysqli_select_db được sử dụng để chọn một cơ sở dữ liệu. Hàm mysqli_select có cú pháp như sau: mysqli_select_db(connection, dbname); (connection, dbname); Giải thích hàm mysqli_select_db:
3. Hàm mysqli_query trong PHPCác hàm mysqli_query() thực hiện một truy vấn đến databasemysqli_query() thực hiện một truy vấn đến database Cú pháp hàm mysqli_query(): mysqli_query(connection, query, resultmode); (connection, query, resultmode); Giải thích về hàm mysqli_query():
Đối với kết quả truy vấn SELECT, SHOW, DESCRIBE, hoặc EXPLAIN thành công sẽ trả về object. Các kết quả truy vấn thành công khác trả về > Các truy vấn được truyền vào là SQL. Nếu bạn chưa biết về SQL thì HỌC SQL CĂN BẢN tại đây nhé.HỌC SQL CĂN BẢN tại đây nhé. 4. Hàm mysqli_num_rows trong PHPCác hàm mysqli_num_rows() trả về số lượng hàng trong một tập kết quả.mysqli_num_rows() trả về số lượng hàng trong một tập kết quả. Cú pháp hàm mysqli_num_rows():
5. Hàm mysqli_fetch_array trong PHPHàm mysqli_fetch_array() tìm nạp một hàng kết quả dưới dạng một mảng kết hợp, một mảng số hoặc cả hai.> Lưu ý: Các fieldname trả về từ hàm này là phân biệt hoa thường.mysqli_fetch_array() tìm nạp một hàng kết quả dưới dạng một mảng kết hợp, một mảng số hoặc cả hai.> Lưu ý: Các fieldname trả về từ hàm này là phân biệt hoa thường. Cú pháp hàm mysquli_fetch_arry: mysqli_fetch_array(result, resulttype); (result, resulttype);
Hàm mysqli_fecth_array trả về một mảng chuỗi tương ứng với các lấy hàng. Null nếu không có thêm hàng nào trong kết quả trả về. 6. Hàm mysqli_close() trong PHPHàm mysqli_close() thực hiện việc đóng kết nối cơ sở dữ liệu đã kết nối trước đó.mysqli_close() thực hiện việc đóng kết nối cơ sở dữ liệu đã kết nối trước đó. Cú pháp hàm mysqli_close(): mysqli_close(connection); (connection);
Giá trị trả về của hàm mysqli_close() là True nếu thành công và False nếu thất bạihàm mysqli_close() là True nếu thành công và False nếu thất bại 7. Ví dụ sử dụng các hàm MySQLi đã cho để kết nối với cơ sở dữ liệu.Hãy cùng xem các ví dụ thực tế tận dụng các hàm MySQLi này. Trước tiên ta tạo một database bằng MySQL. Giả định bạn đã biết về MySQL và SQL. Nếu không thì bạn chỉ cần copy code là được. Chúng ta sẽ tạo một cơ sở dữ liệu đơn giản gọi là 3 bước để tạo cơ sở dữ liệu và bảng:
CREATE TABLE IF NOT EXISTS `my_contacts` ( `my_contacts` ( `id` int(11) NOT NULL AUTO_INCREMENT, int(11) NOT NULL AUTO_INCREMENT, `full_names` varchar(255) NOT NULL, varchar(255) NOT NULL, `gender` varchar(6) NOT NULL, varchar(6) NOT NULL, `contact_no` varchar(75) NOT NULL, varchar(75) NOT NULL, `email` varchar(255) NOT NULL, varchar(255) NOT NULL, `city` varchar(255) NOT NULL, varchar(255) NOT NULL, `country` varchar(255) NOT NULL, varchar(255) NOT NULL, PRIMARY KEY (`id`)KEY (`id`) ) ENGINE = InnoDB DEFAULT CHARSET = latin1 AUTO_INCREMENT = 5 ;5 ; INSERT INTO `my_contacts` (`my_contacts` ( `id`,, `full_names`, , `gender`,, `contact_no`,, `email`,, `city`,, `country`)) VALUES (1, 'Zeus', 'Male', '111', '', 'Agos', 'Greece'),1, 'Zeus', 'Male', '111', '', 'Agos', 'Greece'), (2, 'Anthena', 'Female', '123', '', 'Athens', 'Greece'),2, 'Anthena', 'Female', '123', '', 'Athens', 'Greece'), (3, 'Jupiter', 'Male', '783', '', 'Rome', 'Italy'),3, 'Jupiter', 'Male', '783', '', 'Rome', 'Italy'), (4, 'Venus', 'Female', '987', 'venu @planet.pt.co', 'Mars', 'Italy');4, 'Venus', 'Female', '987', 'venu @planet.pt.co', 'Mars', 'Italy'); ?> > Bây giờ chúng ta có một cơ sở dữ liệu được thiết lập mà chúng ta sẽ thao tác từ PHP. Đọc các bản ghi từ cơ sở dữ liệu. Bây giờ chúng ta sẽ tạo một chương trình in các bản ghi từ cơ sở dữ liệu. $dbh = mysqli_connect('localhost', 'root', 'melody'); = mysqli_connect('localhost', 'root', 'melody'); // Kết nối tới MySQL server if (!$dbh) (!$dbh) die("Unable to connect to MySQL: " . mysqli_error());("Unable to connect to MySQL: " . mysqli_error()); // Nếu kết nối thất bại thì đưa ra thông báo lỗi if (!mysqli_select_db($dbh,'my_personal_contacts')) (!mysqli_select_db($dbh,'my_personal_contacts')) die("Unable to select database: " . mysqli_error()); ("Unable to select database: " . mysqli_error()); // Thông báo lỗi nếu chọn CSDL thất bại $sql_stmt = "SELECT * FROM my_contacts"; = "SELECT * FROM my_contacts"; // Câu lệnh select $result = mysqli_query($dbh,$sql_stmt); = mysqli_query($dbh,$sql_stmt); // Thực thi câu lệnh SQL if (!$result) (!$result) die("Database access failed: " . mysqli_error()); ("Database access failed: " . mysqli_error()); // Thông báo lỗi nếu thực thi thất bại $rows = mysqli_num_rows($result); = mysqli_num_rows($result); // Lấy số hàng trả về if ($rows) { ($rows) { while ($row = mysqli_fetch_array($result)) { ($row = mysqli_fetch_array($result)) { echo 'ID: ' . $row['id'] . ''; 'ID: ' . $row['id'] . ' echo 'Full Names: ' . $row['full_names'] . ''; 'Full Names: ' . $row['full_names'] . ' echo 'Gender: ' . $row['gender'] . ''; 'Gender: ' . $row['gender'] . ' echo 'Contact No: ' . $row['contact_no'] . ''; 'Contact No: ' . $row['contact_no'] . ' echo 'Email: ' . $row['email'] . ''; 'Email: ' . $row['email'] . ' echo 'City: ' . $row['city'] . ''; 'City: ' . $row['city'] . ' echo 'Country: ' . $row['country'] . ''; 'Country: ' . $row['country'] . ' } } mysqli_close($dbh); // Đóng kết nối CSDL($dbh); // Đóng kết nối CSDL ?> > Bây giờ chúng ta có một cơ sở dữ liệu được thiết lập mà chúng ta sẽ thao tác từ PHP. Đọc các bản ghi từ cơ sở dữ liệu. Bây giờ chúng ta sẽ tạo một chương trình in các bản ghi từ cơ sở dữ liệu. // Kết nối tới MySQL server if (!$dbh) $dbh = mysqli_connect('localhost', 'root', 'melody'); = mysqli_connect('localhost', 'root', 'melody'); // Nếu kết nối thất bại thì đưa ra thông báo lỗi if (!$dbh) (!$dbh) die("Unable to select database: " . mysqli_error()); ("Unable to connect to MySQL: " . mysqli_error()); // Thông báo lỗi nếu chọn CSDL thất bại if (!mysqli_select_db($dbh, 'my_personal_contacts')) (!mysqli_select_db($dbh, 'my_personal_contacts')) die("Unable to select database: " . mysql_error()); ("Unable to select database: " . mysql_error()); // Thông báo lỗi nếu chọn CSDL thất bại // Câu lệnh select = "INSERT INTO `my_contacts` (`full_names`,`gender`,`contact_no`,`email`,`city`,`country`)"; $sql_stmt .= "VALUES('Poseidon','Mail','541',' ','Troy','Ithaca')"; .= "VALUES('Poseidon','Mail','541',' ','Troy','Ithaca')"; // Thực thi câu lệnh SQL = mysqli_query($dbh, $sql_stmt); // Thực thi câu lệnh SQL if (!$result) { (!$result) { // Thông báo lỗi nếu thực thi thất bại("Adding record failed: " . mysqli_error()); // Lấy số hàng trả về } else {else { echo "Poseidon has been successfully added to your contacts list"; "Poseidon has been successfully added to your contacts list"; if ($rows) { echo 'Full Names: ' . $row['full_names'] . ''; ($dbh); // Đóng kết nối CSDL ?> > echo 'Email: ' . $row['email'] . ''; mysqli_close($dbh); // Đóng kết nối CSDL Thực thi đoạn code trên trả về kết quả được hiển thị như trong hình bên dưới đây. Giả sử Poseidon đã thay đổi số điện thoại và địa chỉ email của mình. $dbh = mysqli_connect('localhost', 'root', 'melody'); = mysqli_connect('localhost', 'root', 'melody'); // Kết nối tới MySQL Server if (!$dbh) (!$dbh) die("Unable to connect to MySQL: " . mysqli_error()); ("Unable to connect to MySQL: " . mysqli_error()); // Thông báo lỗi nếu kết nối thất bại if (!mysqli_select_db($dbh,'my_personal_contacts')) (!mysqli_select_db($dbh,'my_personal_contacts')) die("Unable to select database: " . mysql_error()); ("Unable to select database: " . mysql_error()); // Thông báo lỗi nếu chọn CSDL thất bại $sql_stmt = "UPDATE `my_contacts` SET `contact_no` = '785',`email` = ''"; = "UPDATE `my_contacts` SET `contact_no` = '785',`email` = ''"; $sql_stmt .= "WHERE `id` = 5"; .= "WHERE `id` = 5"; $result = mysqli_query($dbh,$sql_stmt); = mysqli_query($dbh,$sql_stmt); // Thực thi câu lệnh SQL if (!$result) { (!$result) { die("Deleting record failed: " . mysqli_error());("Deleting record failed: " . mysqli_error()); // Thông báo lỗi nếu thực thi thất bại } else {else { echo "ID number 5 has been successfully updated"; "ID number 5 has been successfully updated"; } mysqli_close($dbh); //close the database connection($dbh); //close the database connection ?> > Xóa bản ghiBây giờ hãy xem một ví dụ loại bỏ các bản ghi khỏi cơ sở dữ liệu. Chúng ta phải xóa Venus khỏi cơ sở dữ liệu của chúng ta. $dbh = mysqli_connect('localhost', 'root', 'melody'); = mysqli_connect('localhost', 'root', 'melody'); // Kết nối với MySQL Server if (!$dbh) (!$dbh) die("Unable to connect to MySQL: " . mysqli_error()); ("Unable to connect to MySQL: " . mysqli_error()); // Thông báo lỗi nếu kết nối thất bại if (!mysqli_select_db($dbh,'my_personal_contacts')) (!mysqli_select_db($dbh,'my_personal_contacts')) die("Unable to select database: " . mysqli_error()); ("Unable to select database: " . mysqli_error()); // Thông báo lỗi nếu chọn CSDL thất bại $id = 4; = 4; $sql_stmt .= "WHERE `id` = 5"; // Thực thi câu lệnh SQL = "DELETE FROM `my_contacts` WHERE `id` = $id"; // Thông báo lỗi nếu thực thi thất bại $result = mysqli_query($dbh,$sql_stmt); = mysqli_query($dbh,$sql_stmt); // Thực thi câu lệnh SQL if (!$result) { (!$result) { die("Deleting record failed: " . mysqli_error());("Deleting record failed: " . mysqli_error()); // Thông báo lỗi nếu thực thi thất bại } else {else { echo "ID number $id has been successfully deleted"; "ID number $id has been successfully deleted"; } ?> ($dbh); // Đóng kết nối CSDL ?> > Xóa bản ghiBây giờ hãy xem một ví dụ loại bỏ các bản ghi khỏi cơ sở dữ liệu. Chúng ta phải xóa Venus khỏi cơ sở dữ liệu của chúng ta. // Kết nối với MySQL Server // Thông báo lỗi nếu kết nối thất bại try { { // ID của Venus trong CSQL = new PDO("mysql:host=localhost;dbname=my_personal_contacts", 'root', 'melody'); $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo -> exec('SET NAMES "utf8"');-> exec('SET NAMES "utf8"'); $sql_stmt = "SELECT * FROM `my_contacts`"; = "SELECT * FROM `my_contacts`"; $sql_stmt = "DELETE FROM `my_contacts` WHERE `id` = $id"; = $pdo->query($sql_stmt); $result -> setFetchMode(PDO::FETCH_ASSOC);-> setFetchMode(PDO::FETCH_ASSOC); $data = array(); = array(); foreach ($result as $row) { ($result as $row) { $data[] = $row;[] = $row; } print_r($data);($data); } catch (PDOException $e) { (PDOException $e) { ?> $e -> getMessage(); } ?> >
// ID của Venus trong CSQL $sql_stmt = "DELETE FROM `my_contacts` WHERE `id` = $id"; = odbc_connect($dsn, $user_name, $password);
PDO là một class cho phép chúng ta thao tác với các cơ sở dữ liệu khác nhau như MySQL, PostGres, MS SQL Server, v.v ...
$dbh = odbc_connect('northwind', '', ''); = odbc_connect('northwind', '', ''); if (!$dbh) { (!$dbh) { exit("Connection Failed: " . $dbh); ("Connection Failed: " . $dbh); } $sql_stmt = "SELECT * FROM customers"; = "SELECT * FROM customers"; $result = odbc_exec($dbh, $sql_stmt); = odbc_exec($dbh, $sql_stmt); if (!$result) { (!$result) { exit("Error access records"); ("Error access records"); } while (odbc_fetch_row($result)) { (odbc_fetch_row($result)) { $company_name = odbc_result($result, "CompanyName"); = odbc_result($result, "CompanyName"); $contact_name = odbc_result($result, "ContactName"); = odbc_result($result, "ContactName"); echo "Company Name (Contact Person): $company_name ($contact_name) "; "Company Name (Contact Person): $company_name ($contact_name) } odbc_close($dbh);($dbh); while (odbc_fetch_row($result)) { > echo "Company Name (Contact Person): $company_name ($contact_name) ";?> hàm MySQLi cơ bản để sử dụng thao tác với CSDL trong PHP, cũng như cách thức sử dụng PDO để thay thế.
PDO là từ viết tắt của PHP Data Object, nó được sử dụng để kết nối với các cơ sở dữ liệu khác nhau bằng cùng một đối tượngLẬP TRÌNH WEB PHP. Khóa học do doanh nghiệp liên kết đào tạo nhân lực, học thực tế, tuyển dụng ngay cuối khóa. PHP sử dụng hàm odbc_connect để thao tác cơ sở dữ liệu thông qua ODBC > Nếu bạn đang tích cực học PHP để đi làm thì nên tham gia ngay khóa học LẬP TRÌNH WEB PHP. Khóa học do doanh nghiệp liên kết đào tạo nhân lực, học thực tế, tuyển dụng ngay cuối khóa. --- HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay! Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội SĐT: 02435574074 - 0914939543 Email: |