使用php上传文件并在mysql列中插入其路径

时间:2015-05-28 08:13:07

标签: php mysql ajax

**我有这个档案
    

if(isset($_POST['action']) && $_POST['action']=="add") 
{  

     $CompanyName=$_POST['add_CompanyName'];
     $SupplierAddress=$_POST['add_SupplierAddress'];
     $SupplierFax1=$_POST['add_SupplierFax1'];   $pattern="/^[A-Z]{2}\d{4}\b/";


     if(($CompanyName=="")||($SupplierAddress == "")||($SupplierFax1 == "")){
       echo '{"status":"1"}';
       exit;
     }
     else if( !preg_match($pattern,$SupplierFax1)){
       echo  '{"status":"2"}';
       exit;
     }else{
       $test=mysqli_query($con,"INSERT INTO suppliers(CompanyName,SupplierAddress,SupplierFax1,AttachTitle) VALUES('$CompanyName','$SupplierAddress','$SupplierFax1')") or die ("data error!");
       echo '{"status":"3"}';
       exit; 
     }
}
elseif(isset($_POST['action'])&& $_POST['action']=="update") 
{      
     $id=$_POST['edit_id'];
     $CompanyName=$_POST['edit_CompanyName'];
     $SupplierAddress=$_POST['edit_SupplierAddress'];
     $SupplierFax1=$_POST['edit_SupplierFax1'];

     $test = mysqli_query($con,"UPDATE suppliers SET CompanyName='$CompanyName',SupplierAddress='$SupplierAddress',SupplierFax1='$SupplierFax1', WHERE id='$id'") or die ("data error!");
     echo '{"status":"3"}';
     exit;
  }
elseif(isset($_POST['action']) && $_POST['action']=="delete") 
{

     $id = $_POST['delete_id'];
     $test = mysqli_query($con,"delete from suppliers where id='$id'");
     if(mysqli_affected_rows($con) == 1){ 
       echo '{"status":"1"}';
     }else{
       echo '{"status":"0"}';
     }
     exit;
}

我有这个表格

<form id="form1" method="post" enctype=”multipart/form-data>
    <p><label>CompanyName</label><input type="text" id="add_CompanyName" name="add_CompanyName" /></p>
    <p><label>SupplierAddress</label><input type="text" id="add_SupplierAddress" name="add_SupplierAddress" /> </p>
    <p><label>SupplierFax1</label><input type="text" id="add_SupplierFax1" name="add_SupplierFax1" /></p>

    <p><input type="submit" value="Add" /></p>
    <input type="hidden" id="action" name="action" value="add" />
</form>

现在我想添加新的两个字段来上传文档,并在路径描述中用mysql显示它们的路径 我怎样才能将它们添加到上面的代码中? 我也在使用ajax

 $('#suppliers tr:even:not(#nav):not(#total)').addClass('even');
 $('#suppliers tr:odd:not(#nav):not(#total)').addClass('odd') 

 $("form#form1").submit(function(){
    var vId = $("input#edit_id").val();                  
    var vCompanyName = $("input#edit_CompanyName").val();                
    var vSupplierAddress = $("input#edit_SupplierAddress").val();         
    var vSupplierFax1 = $("input#edit_SupplierFax1").val();             
    var myRegExp=/^[A-Z]{2}\d{4}\b/;
 });

1 个答案:

答案 0 :(得分:0)

首先要做的是使用您需要的新数据字段更改表格。 例如:

ALTER TABLE supplies ADD COLUMN field2 varchar(32) NOT NULL;

要填写此列,您必须将其添加到HTML:

 <p><label>Field2</label><input type="text" id="add_field2" name="add_field2" /></p>

并在PHP中捕获这个:

$field2 = $_POST['add_field2'];

并将您的插入查询更改为:

     $test=mysqli_query($con,"INSERT INTO suppliers(CompanyName,SupplierAddress,SupplierFax1,AttachTitle, field2) VALUES('$CompanyName','$SupplierAddress','$SupplierFax1', '$field2')") or die ("data error!");

和您的更新查询:

     $test = mysqli_query($con,"UPDATE suppliers SET CompanyName='$CompanyName',SupplierAddress='$SupplierAddress',SupplierFax1='$SupplierFax1',field2='$field2' WHERE id='$id'") or die ("data error!");

我还想指出以下网站:SQL Injection

请仔细阅读此内容,以防止您的应用程序向全世界开放时,您的数据库将受到损害