这段代码到底哪有问题啊error_reporting(0);//导入CSV格式的文件 $db = create_peardb_handle();
$fname = $_FILES['MyFile']['name'];
$handle=fopen("$fname","r");
$subHotel_d=$db->query("delete from hotel_activities_2");
$q="insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values (";
while($data=fgetcsv($handle,1000," "))
{
$num = count ($data);
for ($c=0; $c < $num; $c++) {
if($c==$num-1){$q=$q.$data[$c];break;}
$q=$q.$data[$c];
}
echo $q;
exit();
/*print_r($data);
exit();
$q=$db->query("insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values ('$data[0]','$data[1]','$data[2]','$data[3]'","'$data[4]'");*/
}
$db->query($q);
echo "SQL语句执行成功!<br>";
$q="insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values (";
fclose($handle);
$tpl->display("hotel_admin/subHotel_import.htm");
$fname = $_FILES['MyFile']['name'];
$handle=fopen("$fname","r");
$subHotel_d=$db->query("delete from hotel_activities_2");
$q="insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values (";
while($data=fgetcsv($handle,1000," "))
{
$num = count ($data);
for ($c=0; $c < $num; $c++) {
if($c==$num-1){$q=$q.$data[$c];break;}
$q=$q.$data[$c];
}
echo $q;
exit();
/*print_r($data);
exit();
$q=$db->query("insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values ('$data[0]','$data[1]','$data[2]','$data[3]'","'$data[4]'");*/
}
$db->query($q);
echo "SQL语句执行成功!<br>";
$q="insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values (";
fclose($handle);
$tpl->display("hotel_admin/subHotel_import.htm");
输出的是insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values
这个,可我在里面输出的时候是
insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values (6916,2010-1-5,2010-12-31,中心(2.5公里),上海(2.5 公里),时间:时间:07:45(第一班);08:10(第二班),时间:16:30(第一班);17:00(第二班),7,,,
我要导入的是excel格式的csv
while($data=fgetcsv($handle,1000," "))
{
$num = count ($data);
$q .= "(";
for ($c=0; $c < $num; $c++) {
if($c==$num-1){$q=$q.$data[$c];break;}
$q=$q."'".$data[$c]."'";
}
$q .="),";
}
$q = substr($q,0,-1);
string要加引号insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values (6916,'2010-1-5','2010-12-31','中心(2.5公里)...')
Warning: Unknown: GC cache entry '/var/www/etpass/app/config/config.php' (dev=26633 ino=533018) was on gc-list for 3713 seconds in Unknown on line 0Warning: Cannot modify header information - headers already sent in /var/www/2009/app/include/etpass.include.php on line 41
while($data=fgetcsv($handle,1000," "))
{
$num = count ($data);
$q .= "(";
for ($c=0; $c < $num; $c++) {
if($c==$num-1){$q=$q.$data[$c];break;}
$q=$q."'".$data[$c]."',";
}
$q = substr($q,0,-1);
$q .="),";
}
$q = substr($q,0,-1);
最主要还是你把最终的$q打印出来看看SQL语句是否正确
A B C D E
6916 2010-1-5 2010-12-31 abc 7
11728 2010-4-1 2010-12-31 abc 14
11726 2010-4-1 2010-12-31 abc 14
11732 2010-4-1 2010-12-31 abc 14
但是数据库中共有6个字段
SQL输出是这样, insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values
insert into hotel_activities_2 (hotel_id,start_date,end_date,content,s_type) values('6916','2010-1-5','2010-12-31','abc','7'),('11728','2010-1-5','2010-12-31','abc','14'),.....