php怎么导入mysql
时间 : 2023-07-23 04:51:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

在PHP中,可以使用MySQLi或PDO扩展来导入MySQL数据库。

方法一:使用MySQLi扩展

MySQLi(即MySQL Improved)是PHP提供的一套专门用于与MySQL数据库交互的扩展。以下是使用MySQLi连接到MySQL数据库并导入数据的步骤:

1. 连接到MySQL数据库:

```php

$servername = "localhost";

$username = "root";

$password = "password";

$dbname = "database_name";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {

die("连接失败: " . $conn->connect_error);

}

2. 导入数据:

```php

$sql = "LOAD DATA INFILE '/path/to/file.csv'

INTO TABLE table_name

FIELDS TERMINATED BY ','

ENCLOSED BY '\"'

LINES TERMINATED BY '\n'

IGNORE 1 LINES";

if ($conn->query($sql) === TRUE) {

echo "数据导入成功";

} else {

echo "数据导入失败: " . $conn->error;

}

* 在`LOAD DATA INFILE`语句中,'/path/to/file.csv'是CSV文件的路径,table_name是要导入数据的表名。

* `FIELDS TERMINATED BY ','`指定CSV文件中字段的分隔符,默认为逗号。

* `ENCLOSED BY '\"'`指定CSV文件中的字段是否用引号括起来,默认为双引号。

* `LINES TERMINATED BY '\n'`指定CSV文件中行的结束符,默认为换行符。

* `IGNORE 1 LINES`用于忽略CSV文件中的标题行。

3. 关闭数据库连接:

```php

$conn->close();

方法二:使用PDO扩展

PDO(即PHP Data Objects)也是PHP提供的一个用于与数据库交互的扩展,支持多种数据库,包括MySQL。以下是使用PDO连接到MySQL数据库并导入数据的步骤:

1. 连接到MySQL数据库:

```php

$servername = "localhost";

$username = "root";

$password = "password";

$dbname = "database_name";

try {

$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);

$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

echo "连接成功";

} catch(PDOException $e) {

echo "连接失败: " . $e->getMessage();

}

2. 导入数据:

```php

$sql = "LOAD DATA INFILE '/path/to/file.csv'

INTO TABLE table_name

FIELDS TERMINATED BY ','

ENCLOSED BY '\"'

LINES TERMINATED BY '\n'

IGNORE 1 LINES";

try {

$conn->exec($sql);

echo "数据导入成功";

} catch(PDOException $e) {

echo "数据导入失败: " . $e->getMessage();

}

同样,要替换`/path/to/file.csv`和table_name为实际的CSV文件路径和表名。

3. 关闭数据库连接:

```php

$conn = null;

无论选择使用MySQLi还是PDO扩展,都需要确保服务器安装了相应的扩展,并配置正确的数据库连接信息。

在PHP中,可以使用MySQLi(MySQL improved)扩展或PDO(PHP Data Objects)来导入MySQL数据库。下面我将分别介绍如何使用这两种方法进行导入。

【方法一:使用MySQLi扩展导入MySQL】

1. 首先,确保服务器上已经安装并启用了MySQLi扩展。

2. 创建一个数据库连接,使用`mysqli_connect()`函数。传入数据库服务器地址、用户名、密码和数据库名称作为参数。

3. 使用`mysqli_query()`函数执行SQL语句,以导入数据。你可以使用`LOAD DATA INFILE`命令来从外部文件导入数据,也可以使用`INSERT`语句逐行插入数据。

4. 关闭数据库连接,使用`mysqli_close()`函数。

以下是一个使用MySQLi扩展导入MySQL的示例代码:

```php

<?php

$servername = "localhost";

$username = "root";

$password = "password";

$dbname = "database";

// 创建数据库连接

$conn = mysqli_connect($servername, $username, $password, $dbname);

// 检查连接是否成功

if (!$conn) {

die("连接失败: " . mysqli_connect_error());

}

// 导入数据

$sql = "LOAD DATA INFILE '/path/to/data.csv' INTO TABLE tablename FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES";

$result = mysqli_query($conn, $sql);

if ($result) {

echo "数据导入成功";

} else {

echo "数据导入失败: " . mysqli_error($conn);

}

// 关闭数据库连接

mysqli_close($conn);

?>

【方法二:使用PDO导入MySQL】

1. 首先,确保服务器上已经安装并启用了PDO扩展。

2. 创建一个PDO对象,使用数据库服务器地址、数据库名称、用户名和密码作为参数。

3. 使用`exec()`方法执行SQL语句,以导入数据。同样,你可以使用`LOAD DATA INFILE`命令或`INSERT`语句。

4. 关闭数据库连接,使用`null`来释放PDO对象。

以下是一个使用PDO导入MySQL的示例代码:

```php

<?php

$servername = "localhost";

$username = "root";

$password = "password";

$dbname = "database";

try {

// 创建PDO对象

$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);

$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// 导入数据

$sql = "LOAD DATA INFILE '/path/to/data.csv' INTO TABLE tablename FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES";

$conn->exec($sql);

echo "数据导入成功";

} catch(PDOException $e) {

echo "数据导入失败: " . $e->getMessage();

}

// 关闭数据库连接

$conn = null;

?>

以上就是使用MySQLi扩展和PDO导入MySQL数据库的方法。你可以根据自己的需求选择使用其中一种方法来完成导入操作。