#php #mysql #excel
#php #mysql #excel
Вопрос:
Я хочу импортировать данные таблицы Excel в таблицу mysql с помощью php, но я получаю эти ошибки, кто-нибудь, пожалуйста, избавьте меня от этого .. пожалуйста, посмотрите на php-код, игнорируйте только html-материал.
<?php
include ("connection.php");
if(isset($_POST["submit"]))
{
$file = $_FILES['file']['tmp_name'];
$handle = fopen($file, "r");
$c = 0;
while(($filesop = fgetcsv($handle, 1000, ",")) !== false)
{
$name = $filesop[1];
$email = $filesop[2];
$sql = mysql_query("INSERT INTO co (name, email) VALUES ('$name','$email')");
$c = $c 1;
}
fcose($file);
if($sql){
echo "You database has imported successfully. You have inserted ". $c ." recoreds";
}else{
echo "Sorry! There is some problem.";
}
}
?>
Комментарии:
1. Не похоже, что ваш файл сохранен в формате CSV — вы не можете использовать
fgetcsv
для чтения файлов формата Excel.2. Чтобы импортировать файл Excel в базу данных, вы должны использовать какой-нибудь плагин, например phpexcel.codeplex.com в противном случае здесь вам нужно сохранить файл Excel в формате csv и импортировать, используя этот код, он будет работать
3. кажется, ваш файл sample1.csv, который действительно является правильным форматом. Теперь вы получаете символы gibrish в базе данных. Перед запуском попробуйте установить набор символов в utf8. Для этого запустите этот запрос перед всеми заданными ИМЕНАМИ utf8. Кроме того, убедитесь, что набор символов вашей таблицы, базы данных равен utf8
Ответ №1:
Существуют библиотеки excellibrary/php-excel-reader/excel_reader2.php
и excellibrary/SpreadsheetReader.php
вы можете использовать эти библиотеки для чтения вашего содержимого и преобразования его в массив. Как только вы преобразуете данные электронной таблицы в массив, вы можете легко вставлять их в базу данных с помощью итераций.