Thực thi nhiều dòng lệnh SQL hoặc file với đuôi .SQL bằng PHP
Hôm nay mình sẽ chia sẻ cho các bạn một đoạn script bằng PHP, đoạn script này sẽ giúp các bạn thực thi nhiều câu lệnh SQL cùng một lúc hoặc đọc và thực thi file .sql. Đây sẽ là một bài học rất tốt cho những bạn mới học và tập làm web bằng PHP và SQL. Các bạn chỉ cần bắt chước cách làm như ...
Hôm nay mình sẽ chia sẻ cho các bạn một đoạn script bằng PHP, đoạn script này sẽ giúp các bạn thực thi nhiều câu lệnh SQL cùng một lúc hoặc đọc và thực thi file .sql. Đây sẽ là một bài học rất tốt cho những bạn mới học và tập làm web bằng PHP và SQL.
Các bạn chỉ cần bắt chước cách làm như sau :
<?php ini_set('display_errors', 0); error_reporting(0); // SET MYSQL CONFIGURATION $serverName = 'localhost'; $username = 'root'; $password = '; $database = 'test_delete'; // SET THE SQL FILE PATH OR DIRECTLY GIVE ALL SQL STATEMENTS INSIDE QUOTES $query = file_get_contents('file.sql'); //OR to execute multiple SQL statements directly, set "$query" variable as follows: $query = 'CREATE TABLE IF NOT EXISTS `employee_attendances` ( `id` int(11) NOT NULL AUTO_INCREMENT, `attendance_date` date DEFAULT NULL, `employee_id` int(11) DEFAULT NULL, `employee_leave_type_id` int(11) DEFAULT NULL, `reason` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `is_half_day` tinyint(1) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `items_product` ( `id` int(11) NOT NULL AUTO_INCREMENT, `product_name` TEXT DEFAULT NULL, `price` DOUBLE DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ; '; // Establishing connection with mysqli database $con = new mysqli($serverName, $username, $password, $database); /* check connection */ if(mysqli_connect_errno()) { printf("Connect failed: %s ", mysqli_connect_error()); exit(); } /* execute multi query */ if($con->multi_query($query)) { do { /* store first result set */ if($resultSet = $con->store_result()) { while($row = $resultSet->fetch_row()) { printf("%s ", $row[0]); } $resultSet->free(); } //print divider if($con->more_results()) { $loadArray = array("Creating tables....", "please wait..", "stay tuned while all table definitions are dumped..."); $upperLimit = count($loadArray) - 1; $randNumb = rand(0, $upperLimit); echo $loadArray[$randNumb]; echo ' '; $loadArray = array(); } } while ($con->next_result()); echo 'All tables have been successfully copied/created to given database!'; /* close connection */ } $con->close(); ?>
Các bạn cũng có thể sử dụng đoạn code bên trên vào bất kì frameword nào mà các bạn muốn sử dụng. Nếu có gì khó hiểu trong việc sử dụng thì đừng ngần ngại để lại lời nhắn dưới dạng comment các bạn nhé.
Chúc các bạn thành công !
Chuyên Mục: PHP
Bài viết được đăng bởi webmaster