Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để nhập tệp .sql trong cơ sở dữ liệu mysql bằng PHP?

Cảnh báo: mysql_* tiện ích mở rộng không được chấp nhận kể từ PHP 5.5.0 và đã bị xóa kể từ PHP 7.0.0. Thay vào đó, mysqli hoặc PDO_MySQL phần mở rộng nên được sử dụng. Xem thêm Tổng quan về API MySQL để được trợ giúp thêm khi chọn MySQL API.
Bất cứ khi nào có thể, việc nhập tệp vào MySQL nên được ủy quyền cho máy khách MySQL.

Tôi có một cách khác để làm việc này, hãy thử cách này

<?php

// Name of the file
$filename = 'churc.sql';
// MySQL host
$mysql_host = 'localhost';
// MySQL username
$mysql_username = 'root';
// MySQL password
$mysql_password = '';
// Database name
$mysql_database = 'dump';

// Connect to MySQL server
mysql_connect($mysql_host, $mysql_username, $mysql_password) or die('Error connecting to MySQL server: ' . mysql_error());
// Select database
mysql_select_db($mysql_database) or die('Error selecting MySQL database: ' . mysql_error());

// Temporary variable, used to store current query
$templine = '';
// Read in entire file
$lines = file($filename);
// Loop through each line
foreach ($lines as $line)
{
// Skip it if it's a comment
if (substr($line, 0, 2) == '--' || $line == '')
    continue;

// Add this line to the current segment
$templine .= $line;
// If it has a semicolon at the end, it's the end of the query
if (substr(trim($line), -1, 1) == ';')
{
    // Perform the query
    mysql_query($templine) or print('Error performing query \'<strong>' . $templine . '\': ' . mysql_error() . '<br /><br />');
    // Reset temp variable to empty
    $templine = '';
}
}
 echo "Tables imported successfully";
?>

Điều này đang làm việc cho tôi



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP:Cảnh báo:sort () yêu cầu tham số 1 là mảng, tài nguyên đã cho

  2. Làm thế nào để kiểm tra xem một hàng có tồn tại trong MySQL hay không? (tức là kiểm tra xem email có tồn tại trong MySQL hay không)

  3. Khối lượng công việc kết hợp cơ sở dữ liệu OLTP / Analytics:Sao chép dữ liệu MySQL sang ClickHouse

  4. MySQL - tôi có thể giới hạn thời gian tối đa được phép chạy một truy vấn không?

  5. Mysqli_real_escape_string có đủ để tránh SQL injection hoặc các cuộc tấn công SQL khác không?