在我的文章頁面中,我有多個上傳字段。將多個圖像字段上傳到服務器mysql中的每一行
<form action="" method="post" enctype="multipart/form-data"
class="form-horizontal">
<div class="form-group col-md-5">
<label for="image">Big pic</label>
<input id="image" type="file" name="image" class="btn btn-danger">
</div>
<div class="form-group col-md-5">
<label for="img_v1">V1</label>
<input id="img_v1" type="file" name="img_v1" class="btn btn-danger">
</div>
<div class="form-group col-md-5">
<label for="img_v2">V2</label>
<input id="img_v2" type="file" name="img_v2" class="btn btn-danger">
</div>
而我想上傳每個字段到我的服務器中的每一行。
我的上傳腳本在同一個文件中。
$error = '';
if(isset($_POST['submit_post'])){
$title = strip_tags($_POST['title']);
$date = date('Y-m-d h:i:s');
if($_FILES['image']['name'] !=''){
$image_name = $_FILES['image']['name'];
$image_tmp = $_FILES['image']['tmp_name'];
$image_size = $_FILES['image']['size'];
$image_ext = pathinfo($image_name,PATHINFO_EXTENSION);
$image_path = '../clientes/img/'.$image_name;
$image_db_path = 'img/'.$image_name;
if($image_size < 10000000){
if($image_ext == 'jpg' || $image_ext == 'png' || $image_ext == 'jpeg' || $image_ext == 'gif'){
if(move_uploaded_file($image_tmp,$image_path)){
$ins_sql = "INSERT INTO gallery (title, description, image, category, status) VALUES ('$title', '$_POST[description]',
'$image_db_path', '$_POST[category]', '$_POST[status]')";
if(mysqli_query($conn,$ins_sql)){
header('post_list.php');
}else{
$error = '<div class="alert alert-danger">Erro de script</div>';
}
}else{
'<div class="alert alert-danger">Image cant upload</div>';
}
}else{
$error = '<div class="alert alert-danger">Wrong image extention</div>';
}
}else{
$error = '<div class="alert alert-danger">Image is to much big</div>';
}
}else{
$ins_sql = "INSERT INTO gallery (title, description, category, status, date, author) VALUES ('$title', '$_POST[description]',
'$_POST[category]', '$_POST[status]', '$date', '$_SESSION[userName] $_SESSION[userLName]')";
if(mysqli_query($conn,$ins_sql)){
header('post_list.php');
}else{
$error = '<div class="alert alert-danger">Script error</div>';
}
}
}
我試圖在3場上傳到這樣的服務器...
INSERT INTO畫廊(標題,描述,圖像,img_v1,img_v2類別,狀態)VALUES('$標題」, '$ _POST [描述]', '$ image_db_path', '$ image_db_path', '$ image_db_path', '$ _POST [類別]', '$ _POST [狀態]')「;
但我知道這是錯誤的。 我必須這樣做,我可以上傳額外的img字段?
當您不檢查錯誤時,您不知道要查找什麼,這是您的查詢中的語法錯誤。我們也不知道你是否開始會議。 –
**警告**:當使用'mysqli'時,您應該使用[參數化查詢](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)和['bind_param']( http://php.net/manual/en/mysqli-stmt.bind-param.php)將用戶數據添加到您的查詢中。 **不要**使用字符串插值或連接來完成此操作,因爲您創建了嚴重的[SQL注入漏洞](http://bobby-tables.com/)。 **絕不**將'$ _POST'或'$ _GET'數據直接放入查詢中,如果有人試圖利用您的錯誤,這會非常有害。 – tadman
@tadman thx對於這個提示,我還在學習php,我會研究你說的東西。大thx –