PHP将CVS文件导入MySql

PHP将CVS文件导入MySql,php,mysql,Php,Mysql,我正在做一张有翻译的桌子: English | Italian | French help | ayuto | amo 我正在创建一个功能来添加新的语言(俄语)。我已将其全部设置好,但导入无法正常工作。它将导入现有字段下的值。所以它不会直接将它们添加到新添加的语言下。看起来像这样: English | Italian | French | Russian(added) help | ayuto | amo | | | |

我正在做一张有翻译的桌子:

English | Italian | French
help    | ayuto   | amo
我正在创建一个功能来添加新的语言(俄语)。我已将其全部设置好,但导入无法正常工作。它将导入现有字段下的值。所以它不会直接将它们添加到新添加的语言下。看起来像这样:

English | Italian | French | Russian(added)
help    | ayuto   | amo    |
        |         |        | помощь(imported)
        |         |        | извините(imported)
English | Italian | French | Russian(added)
help    | ayuto   | amo    | помощь(imported)
        |         |        | извините(imported)
我需要这样从顶部开始:

English | Italian | French | Russian(added)
help    | ayuto   | amo    |
        |         |        | помощь(imported)
        |         |        | извините(imported)
English | Italian | French | Russian(added)
help    | ayuto   | amo    | помощь(imported)
        |         |        | извините(imported)
代码如下:

    if (isset($_POST['submit'])){
  $lang_name = htmlspecialchars($_POST['lang_name'], ENT_QUOTES);  
  $str = strtolower($lang_name);
  $lang_lawname = str_replace(' ', '_',$str); 


  $sql = "INSERT INTO translation_lang (languages) VALUES ('".$lang_name."')";
  $sql2 = "ALTER TABLE translation ADD $lang_lawname VARCHAR( 255 ) DEFAULT ''";   


    if (!mysqli_query($con,$sql)) {
      die('Error: ' . mysqli_error($con));
    }
    if (!mysqli_query($con,$sql2)) {
          die('Error: ' . mysqli_error($con));
        }


    if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
        //echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "</h1>";
        //echo "<h2>Displaying contents:</h2>";
        readfile($_FILES['filename']['tmp_name']);

        //Import uploaded file to Database
    $handle = fopen($_FILES['filename']['tmp_name'], "r");

    do {
        if ($data[0]) { 

        $import="INSERT into translation($lang_lawname) values('$data[0]')";

        mysqli_query($con,$import) or die(mysqli_error());
    }
    }
    while ($data = fgetcsv($handle,1000,",","'")); 
    }
if(isset($\u POST['submit'])){
$lang\u name=htmlspecialchars($\u POST['lang\u name',ENT\u引号);
$str=strtolower($lang_name);
$lang_lawname=str_replace(“,”,$str);
$sql=“插入翻译语言(语言)值(“$lang\u name.”);
$sql2=“ALTER TABLE TRANSACTION ADD$lang_lawname VARCHAR(255)默认值“”;
如果(!mysqli_query($con,$sql)){
die('Error:'.mysqli_Error($con));
}
if(!mysqli_query($con,$sql2)){
die('Error:'.mysqli_Error($con));
}
如果(是上传的文件($\u文件['filename']['tmp\u name'])){
//echo“.”文件“$\u文件['filename']['name']”已成功上载。“”;
//echo“显示内容:”;
readfile($_FILES['filename']['tmp_name']);
//将上载的文件导入数据库
$handle=fopen($_FILES['filename']['tmp_name'],“r”);
做{
如果($data[0]){
$import=“插入翻译($lang_lawname)值(“$data[0]”);
mysqli_query($con,$import)或die(mysqli_error());
}
}
而($data=fgetcsv($handle,1000,“,”,“”));
}

旁注:将
或die(mysql_error());
更改为
或die(mysqli_error($con))
你不能混合使用这两种API。我只是想知道,在不同的行中使用不同的语言,并使用一个包含习语的双字符字段,难道不是更有效吗?旁注2:在继续之前,只需简单地记下你的翻译,并使用适当的单词,因为你很可能最终不得不修复很多问题我会说几种语言,其中两种是意大利语和法语。意大利语中的“帮助”是“aiuto”,法语中是“aide”。我想你可能会想知道,并为你省下一些潜在的麻烦;-)@PrashantBalan,我计划不使用逗号。只需一列…
选择文本,其中wordid=1726和language='fr'
选择法语,其中wordid=1726
更快。服务器需要管理的内部信息更少。此外,它还可以扩展up如果每行只包含一种语言,你会用另外10种语言做什么?