我试图将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>
答案 0 :(得分:1)
连接是第二个参数。
mysql_real_escape_string( $data[0], $connect);
还记得它是一个已弃用的功能
http://php.net/manual/en/function.mysql-real-escape-string.php
答案 1 :(得分:0)
试试这个
mysql_real_escape_string("string")
装置
mysql_real_escape_string($data[0]);
答案 2 :(得分:0)
如果您使用 mysqli ,那么
mysqli_real_escape_string($connect,$data[0]);
如果您使用 mysql
mysql_real_escape_string( $data[0]);