【发布时间】:2016-12-08 12:23:10
【问题描述】:
我正在尝试将 CSV 文件插入 MySql,但出现错误。
警告:mysql_real_escape_string() 期望参数 1 是字符串,
我的数据库表是:
:s_no :name :id :
:1 :Lim :678 :
:2 :Mary :623 :
:3 :Mimi :4124 :
数字是 AUTO_INCREMENT,我只想要名称和 ID。
<?php
$connect = mysql_connect("localhost","root","","skpj");
if(isset($_POST["submit"]))
{
if($_FILES['file']['name'])
{
$filename = explode('.',$_FILES['file']['name']);
if ($filename[1] == 'csv')
{
$handle = fopen($_FILES['file']['tmp_name'], "r");
while ($data = fgetcsv($handle))
{
$item1 = mysql_real_escape_string($connect, $data[0]);
$item2 = mysql_real_escape_string($connect, $data[1]);
$sql="INSERT into student( s_no, name, id) value ('','$item1','$item2')";
mysql_query($connect, $sql);
}
fclose($handle);
print "Done";
}
}
}
?>
<html>
<head></head>
<body>
<form method="post" enctype="multipart/form-data">
<div>
<p>Upload CSV: <input type="file" name="file" /></p>
<p><input type="submit" name="submit" value="Import" /></p>
</div>
</form>
</body>
</html>
【问题讨论】:
-
缺少表单操作
-
我没有得到这一行'“数字”是AUTO_INCREMENT,所以我想改为仅使用名称和ID”。请解释一下。
-
“s_no”是 AUTO_INCREMENT,所以我只想改为 Name And ID。在数据库中,字段“s_no”是自动生成的。我只需要在 name 和 id 字段中代替。
标签: javascript php mysql csv