我创建表单加载sql文件并使用fopen函数顶部打开文件并读取此但是当想要执行此数据到数据库不起作用? 我的代码出了什么问题?
$ofile = trim(basename($_FILES['sqlfile']['name']));
$path = "sqlfiles/".$ofile;
//$data = settype($data,"string");
$file = "";
$connect = mysql_connect('localhost','root','');
$selectdb = mysql_select_db('files');
if(isset($_POST['submit']))
{
if(!move_uploaded_file($_FILES['sqlfile']['tmp_name'],"sqlfiles/".$ofile))
{
$path = "";
}
$file = fopen("sqlfiles/".$ofile,"r") or exit("error open file!");
while (!feof($file))
{
$data = fgetc($file);
settype($data,"string");
$rslt = mysql_query($data);
print $data;
}
fclose($file);
}
答案 0 :(得分:1)
也许你在阅读行时应该使用fgets而不是fgetc。
答案 1 :(得分:0)
您的脚本假定每行只有一个SQL语句,没有空格或注释。如果不是这种情况,那么您需要手动读取和解析文件,或者将文件重定向到mysql
可执行文件并让它处理SQL语句。