php mysqli 導入是一種非常重要的功能,它能夠快速地將大量的數據導入到數據庫中,幫助用戶快速地完成數據處理工作。下面我們來介紹一下php mysqli 導入的相關知識。
php mysqli 導入的最基本的用法是通過使用 LOAD DATA INFILE 語句來實現讀取外部文件內容并插入到 MySQL 數據庫中。比如我們要將一個csv文件導入到數據庫,可以使用以下php代碼:
$username = 'root'; $password = '123456'; $database = 'test'; $filePath = '/path/to/file.csv'; $mysqli = new mysqli('localhost', $username, $password, $database); if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: " . $mysqli->connect_error; exit(); } $sql = "LOAD DATA INFILE '$filePath' INTO TABLE my_table FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'"; if (!$mysqli->query($sql)) { echo "Error: " . $mysqli->error; exit(); } $mysqli->close();
上述代碼中,我們首先建立了一個mysqli連接,然后將需要導入的csv文件的路徑存儲到變量$filePath中。接著,我們使用LOAD DATA INFILE語句將文件中的內容插入到名為my_table的數據庫表中,同時使用FIELDS TERMINATED BY指定字段之間的分隔符為“,”,使用LINES TERMINATED BY指定每行記錄的分隔符為“\n”。
除了使用LOAD DATA INFILE語句外,我們還可以使用php的fopen()和fgets()等函數讀取文本文件中的內容,并使用mysqli中的INSERT語句將每行記錄插入到數據庫中。比如以下代碼實現了將txt文件中的內容導入到數據庫中:
$username = 'root'; $password = '123456'; $database = 'test'; $filePath = '/path/to/file.txt'; $mysqli = new mysqli('localhost', $username, $password, $database); if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: " . $mysqli->connect_error; exit(); } $file = fopen($filePath, 'r'); while (!feof($file)) { $line = fgets($file); $line = trim($line); $sql = "INSERT INTO my_table (field1, field2) VALUES ('$line')"; if (!$mysqli->query($sql)) { echo "Error: " . $mysqli->error; exit(); } } fclose($file); $mysqli->close();
上述代碼中,我們通過使用fopen()函數以只讀方式打開文件,創建了一個文件描述符$file。接著使用while循環讀取文件中的每一行記錄,去掉每行記錄的空格后使用INSERT語句將記錄插入到數據庫中。
總的來說,php mysqli 導入是一個非常實用的功能,為用戶提供了快速高效地操作數據庫的手段。不過在使用時,我們也需要注意一些問題,如文件路徑的正確性、文件格式的正確性、以及MySQL的安全設置等,以免在導入時出現問題。