Loading SQL Files from Within PHP
Many development workflows require the creation and population of databases dynamically from within PHP. Having successfully established a database connection, the next step often involves loading data from SQL files.
The primary challenge with loading SQL files lies in handling multiple queries within a single file. Unlike phpMyAdmin's import command, PHP does not inherently parse multi-line queries.
Solution: Using PDO and file_get_contents
To load an SQL file into PHP, follow these steps:
Establish a PHP Data Objects (PDO) connection to the database:
$dsn = 'mysql:host=localhost;dbname=database_name'; $user = 'username'; $password = 'password'; $db = new PDO($dsn, $user, $password);
Read the contents of the SQL file into a string:
$sql = file_get_contents('file.sql');
Execute the SQL string using the PDO connection:
$qr = $db->exec($sql);
This method reads the entire SQL file as a single string and executes it as one query, successfully loading the data into the database.
The above is the detailed content of How Can I Load SQL Files into a Database from Within PHP?. For more information, please follow other related articles on the PHP Chinese website!