【问题标题】:Timestamp is null after loading csv file into mysql将csv文件加载到mysql后时间戳为空
【发布时间】:2015-10-07 14:33:01
【问题描述】:

在我的实际 csv 文件中有时间戳,但是在将其加载到 mysql 时,除了保持为空的时间戳之外,所有内容都在加载。我在 phpadmin(即 xampp)中使用 mysql,

使用的代码是:

<?php
// specify connection info
$connect = mysql_connect('localhost','root','');
if (!$connect)
{
   die('Could not <span id="IL_AD1" class="IL_AD">
    connect to</span> MySQL: ' . mysql_error());
}

$cid =mysql_select_db('test',$connect); //specify db name

define('CSV_PATH','C:\Users\vijay\Desktop');

$csv_file = CSV_PATH . "\probe.csv"; // Name of your CSV file
$csvfile = fopen($csv_file,"r");
$theData = fgets($csvfile);
$i = 0;
while (!feof($csvfile))
{
   $csv_data[] = fgets($csvfile, 1024);
   $csv_array = explode(",", $csv_data[$i]);
   $insert_csv = array();
   $insert_csv["app_name"] = $csv_array[0];
   $insert_csv["user_id"] = $csv_array[1];
   $insert_csv["timestamp"] = $csv_array[2];
   $insert_csv["event"] = $csv_array[3];
   $insert_csv["feature"] = $csv_array[4];
   $insert_csv["action_name"] = $csv_array[5];
   $insert_csv["qoe_rate"] = $csv_array[6];
   $insert_csv["qoe_rate_description"] = $csv_array[7];
   $query = "insert into csvdata2 (app_name,user_id,timestamp,event,feature,action_name,qoe_rate,qoe_rate_description) VALUES('$insert_csv[app_name]','$insert_csv[user_id]',$insert_csv[timestamp],'$insert_csv[event]','$insert_csv[feature]','$insert_csv[action_name]',$insert_csv[qoe_rate],'$insert_csv[qoe_rate_description]')";
   $n=mysql_query($query);
   echo $n;
   $i++;  
   }
fclose($csvfile);
echo "file data successfully imported to database!!";
mysql_close($connect);
?>

如何包含时间戳代码,以便我可以在不干扰其他条目的情况下将确切的时间戳数据加载到表中......提前感谢

【问题讨论】:

  • 你能打印 $query 生成的查询吗?
  • 如果不知道 CSV 文件的内容或表结构,没有人可以回答这个问题。需要考虑的一些事项: 1) 使用fgetcsv 而不是 fgets。 2)不要使用变量扩展,容易出错。使用字符串连接。 3) 使用 mysqli extension 而不是弃用的 mysql 扩展。 4)做正确的input escaping

标签: php mysql csv null timestamp


【解决方案1】:

你缺少引号

这里

  $insert_csv[timestamp]
  $insert_csv[qoe_rate]

立即尝试

  $query = "insert into csvdata2 (app_name,user_id,timestamp,event,feature,action_name,qoe_rate,qoe_rate_description) VALUES('$insert_csv[app_name]','$insert_csv[user_id]','$insert_csv[timestamp]','$insert_csv[event]','$insert_csv[feature]','$insert_csv[action_name]','$insert_csv[qoe_rate]','$insert_csv[qoe_rate_description]')";

并关注@Plenka 在评论中提到的内容

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2020-09-13
    • 1970-01-01
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多