为什么第21行会出现sytax错误? (在if($ sql)行)我是新手,无法弄明白。我一直在转动轮子一小时。我确信这对大多数人来说非常简单。
<?php
$conn = mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("solera_menu",$conn);
if(isset($_POST['submit']))
{
$file = $_FILES['file']['tmp_name'];
$handle = fopen($file,"r");
while(($fileop = fgetcsv($handle,1000,",")) !==false)
{
$order = $fileop[0];
$category = $fileop[1];
$name = $fileop[2];
$description = $fileop[3];
$price = $fileop[4];
$sql = mysql_query("INSERT INTO dinner (order,category,name,description,price) VALUES ('$order','$category','$name','$description','$price')")
if($sql)
{
echo 'Data Uploaded Successfully';
}
}
}
?>
答案 0 :(得分:4)
mysql_query()
之后没有分号。
如果您只是导入CSV文件,请尝试使用LOAD DATA LOCAL INFILE
语句或其命令行界面mysqlimport。
这可能比您使用的方法快10-20倍。
它还可以防止您使用当前代码创建的SQL注入漏洞。
这是一个粗略的例子,虽然我没有测试过它:
<?php
$conn = mysql_connect("localhost","root","") or die(mysql_error());
mysql_select_db("solera_menu",$conn);
if(isset($_POST['submit']))
{
$file = $_FILES['file']['tmp_name'];
$status = mysql_query("LOAD DATA LOCAL INFILE '$file' INTO TABLE dinner");
if($status)
{
echo 'Data Uploaded Successfully';
}
}
?>