【发布时间】:2014-02-16 13:55:40
【问题描述】:
当我上传 Csv 文件时,它总是显示 Incorrect Table "。
我检查了表名,它是正确的 但我仍然不知道为什么它不更新数据库。 可以使用 Csv 文件更新数据库吗?还是只能插入?
<?php
include 'connect.php';
$modname = $user_data['name'];
$usy = $_POST['usy'];
$usem = $_POST['usem'];
$term2 = $_POST['term2'];
if ( isset( $_FILES['userfile'] ) )
{
$csv_file = $_FILES['userfile']['tmp_name'];
if ( ! is_file( $csv_file ) )
exit('File not found.');
if (($handle = fopen( $csv_file, "r")) !== FALSE)
{
fgetcsv($handle); // get line 0 and move pointer to line 1
fgetcsv($handle); // get line 1 and move pointer to line 2
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
{
$sql = "UPDATE `$term2` SET grade = $data[1] WHERE name_id = $data[0], section = $data[4], subject = $data[5], uploaded = $modname, school_year = $usy , semester = $usem";
$exec = mysql_query($sql) or die(mysql_error());
$sql2 = "DELETE FROM `$term2` WHERE `name_id` = '' AND `grade` = '';";
$exec = mysql_query($sql2) or die(mysql_error());
echo ("The following data has been added to the database");
}
}
}
}
?>
<form name="form2" enctype="multipart/form-data" method="POST" onSubmit="return validateForm()">
<H1>Update CSV File</H1>
School Year:<input type="text" name="usy"> Semester: <select type="text" name="usem">
<option value="1st">1st</option>
<option value="2nd">2nd</option>
</select>
<br />
Term: <select type="text" name="term2">
<option value="prelims">Prelims</option>
<option value="midterm">Midterm</option>
<option value="prefinals">Prefinals</option>
<option value="finals">Finals</option>
</select>
<br />
<br />
<input name="userfile" type="file">
<br />
<input type="submit" value="Upload">
</form>
【问题讨论】:
-
向我们展示一个示例查询
-
id/name/section/subject/grade/uploaded/school_year/semester 1/sample/samplesec/samplesub/80/sampleprof/2013-2014/1st