//下面是我的代码,已经困扰我两个星期了,希望大神帮忙解决。
//前端的表单为一个table表格,点击“添加”按钮会自动增加新的一行,然后是把所有行的数据写入到数据库,每行都有一个截图字段。
header("Content-Type:text/html;charset=UTF-8");
$arr_tcsj=$_POST['data']['tcsj'];
$arr_tcry=$_POST['data']['tcry'];
$arr_tcbm=$_POST['data']['tcbm'];//用post接收的数据,HTML中命名格式为name="data[tcbm][]",其余的也是
$arr_wtjt=$_FILES['file']['name'];//此表单数据中有图片文件,所以用了$_FILES接收,HTML中图片处name="file[]"
$arr_wtsm=$_POST['data']['wtsm'];
$arr_wtfl=$_POST['data']['wtfl'];
$arr_wtxl=$_POST['data']['wtxl'];
$arr_ssxt=$_POST['data']['ssxt'];
$arr_zrr=$_POST['data']['zrr'];
$arr_jssj=$_POST['data']['jssj'];
$arr_yjsj=$_POST['data']['yjsj'];
$arr_wtzt=$_POST['data']['wtzt'];
$arr_sfcf=$_POST['data']['sfcf'];
$arr_bz=$_POST['data']['bz'];
//数据库信息
$host="localhost";
$dbName="xtyw";
$userName="root";
$password="123456";
//连接到数据库服务器
$conn=mysqli_connect($host,$userName,$password,$dbName);
//连接并返回
if(!$conn){
die("Connectionfailed:".mysqli_connect_error());
}else{
echo"连接成功"."
";
for($i=0;$i
$insert[$i]['tcsj']=$arr_tcsj[$i];
$insert[$i]['tcry']=$arr_tcry[$i];
$insert[$i]['tcbm']=$arr_tcbm[$i];
$insert[$i]['file']=$arr_wtjt[$i];//注意此处是图片文件
$insert[$i]['wtsm']=$arr_wtsm[$i];
$insert[$i]['wtfl']=$arr_wtfl[$i];
$insert[$i]['wtxl']=$arr_wtxl[$i];
$insert[$i]['ssxt']=$arr_ssxt[$i];
$insert[$i]['zrr']=$arr_zrr[$i];
$insert[$i]['jssj']=$arr_jssj[$i];
$insert[$i]['yjsj']=$arr_yjsj[$i];
$insert[$i]['wtzt']=$arr_wtzt[$i];
$insert[$i]['sfcf']=$arr_sfcf[$i];
$insert[$i]['bz']=$arr_bz[$i];
//解决插入数据库中文数据的乱码问题
$query="setnamesutf8";
$result=$conn->query($query);
//允许上传的图片后缀
$allowedExts=array("gif","jpeg","jpg","png");
$temp=explode(".",'$_FILES["file"]["name"]');
$extension=end($temp);
//获取文件后缀名
if((($_FILES["file"]["type"]=="image/gif")
||($_FILES["file"]["type"]=="image/jpeg")
||($_FILES["file"]["type"]=="image/jpg")
||($_FILES["file"]["type"]=="image/pjpeg")
||($_FILES["file"]["type"]=="image/x-png")
||($_FILES["file"]["type"]=="image/png"))
&&($_FILES["file"]["size"]
&&in_array($extension,$allowedExts)){
if($_FILES["file"]["error"]>0){
echo"错误::".$_FILES["file"]["error"]."
";
}else{
echo"上传文件名:".$_FILES["file"]["name"]."
";
echo"文件类型:".$_FILES["file"]["type"]."
";
echo"文件大小:".($_FILES["file"]["size"]/1024)."kB
";
echo"文件临时存储的位置:".$_FILES["file"]["tmp_name"]."
";
//判断当期目录下的upload目录是否存在该文件
//如果没有upload目录,你需要创建它,upload目录权限为777
if(file_exists("upload/".$_FILES["file"]["name"])){
echo$_FILES["file"]["name"]."文件已经存在。";
}else{
//如果upload目录不存在该文件则将文件上传到upload目录下
move_uploaded_file($_FILES["file"]["tmp_name"],"upload/".$_FILES["file"]["name"]);
echo"文件存储在:"."upload/".$_FILES["file"]["name"];
}
}
}
else{
echo"非法的文件格式";
}
$valueStr='';//必须在foreach外声明,否则只会录入最后一条数据。
foreach($insertas$v){
//三维数组转换成二维数组$valueStr.="('".$v['tcsj']."','".$v['tcry']."','".$v['tcbm']."','".$v['file']."','".$v['wtsm']."','".$v['wtfl']."','".$v['wtxl']."','".$v['ssxt']."','".$v['zrr']."','".$v['jssj']."','".$v['yjsj']."','".$v['wtzt']."','".$v['sfcf']."','".$v['bz']."')";
//循环拼接添加数据
//$valueStr='('.implode('),(',$valueStr).')';
$valueStr=rtrim($valueStr,',');//去除字符串最后的','
}
$sql="insertintowtlr(tcsj,tcry,tcbm,wtjt,wtsm,wtfl,wtxl,ssxt,zrr,jssj,yjsj,wtzt,sfcf,bz)values$valueStr";
//$sql.="insertintowtlr(tcsj,tcry,tcbm,wtjt,wtsm,wtfl,wtxl,ssxt,zrr,jssj,yjsj,wtzt,sfcf,bz)values$valueStr";
//$sql=mysqli_query("insertintowtlr(tcsj,tcry,tcbm,wtjt,wtsm,wtfl,wtxl,ssxt,zrr,jssj,yjsj,wtzt,sfcf,bz)values('$insert[$i]['tcsj']','$insert[$i]['tcry']','$insert[$i]['tcbm']','$insert[$i]['file']','$insert[$i]['wtsm']','$insert[$i]['wtfl']','$insert[$i]['wtxl']','$insert[$i]['ssxt']','$insert[$i]['zrr']','$insert[$i]['jssj']','$insert[$i]['yjsj']','$insert[$i]['wtzt']','$insert[$i]['sfcf']','$insert[$i]['bz']')");
//if($sql)
//echo'1';
}
print_r($sql);
if(mysqli_query($conn,$sql)==false){
echo"数据库插入出错!错误代码:".mysqli_errno($conn);
mysqli_close($conn);
var_dump(count($arr_tcsj));
}else{echo"数据库插入成功!";
}
echo"
";
print_r($insert);
var_dump($arr_wtjt);
}
?>
mysql接受表单数据类型_PHP如何接收表单数据数组并插入MySQL数据库?其中表单数据类型包括图片文件类型 要实现图片..._慕课问答...