2016-07-06 163 views
0

当我创建这个API和图像名称由具有projectiduser_idcategory但我不能在数据库中保存图像,因为图像project_idimage_idimage无法正常从POST method.please帮助越来越在此先感谢插入查询储存0在各个领域

<?php 
    error_reporting(E_ALL); 
    require_once('confi.php'); 
    //Destination of images 
    define('IMG_DESTINATION',dirname(__FILE__).'/images/'); 
    define('DB_NAME','chat_neeraj'); 
    //Saving Data to Image Table 
    function saveImageData($data,$imgFile){ 
       $project_id = isset($_POST['project_id']) ? mysql_real_escape_string($_POST['project_id']) : ""; 
       $image_id = isset($_POST['image_id']) ? mysql_real_escape_string($_POST['image_id']) : ""; 
       //$user_id = isset($_POST['user_id']) ? mysql_real_escape_string($_POST['user_id']) : ""; 
       $image_name = isset($_POST['image_name']) ? mysql_real_escape_string($_POST['image_name']) : ""; 
       if(isset($_FILES['tmp_name']) && filesize($_FILES['tmp_name'])>0) 
        saveImageFile($imgFile['tmp_name'],$image_id."_".$project_id."_".$category_id."_".$image_name); 
       $category_id = isset($_POST['category_id']) ? mysql_real_escape_string($_POST['category_id']) : ""; 
       $houssup_id = isset($_POST['houssup_id']) ? mysql_real_escape_string($_POST['houssup_id']) : ""; 
       $location_id = isset($_POST['location_id']) ? mysql_real_escape_string($_POST['location_id']) : ""; 
       // Insert data into data base 
       $sql = "INSERT INTO `".DB_NAME."`.`image_table`(`project_id`, `image_id`,`image_name`,`category_id`,`houssup_id`,`location_id`) 
       VALUES(NULL,'$image_id','$image_name','$category_id','$houssup_id','$location_id')"; 
       echo $sql; 
       if(mysql_query($sql)) 
        return true; 
       else 
        return false; 
    } 

    //Saving Image file to Diskk 
    function saveImageFile($src,$des){ 
     copy($src,$dest); 
    } 
    //Select Image 
    function selectImage(){ 

    } 

    //Save Image Hash Tag 
    function saveImageHashTag(){ 
    } 

    $action=isset($_REQUEST['action'])?$_REQUEST['action']:""; 
    switch($action){ 
     case "save": 
      if($_SERVER['REQUEST_METHOD'] == "POST" && isset($_POST)){ 
       if(saveImageData($_POST,$_FILES)){ 
        echo "Saved"; 
       }else{ 
        echo "Failed"; 
       } 
      }else{ 
       echo "Nothing to Save"; 
      } 
      break; 
     default: 
      echo "Live"; 
      break; 

    } 
    //Closing DB Connection 
    if($conn){ 
     @mysql_close($conn); 
    } 
+0

DB_NAME是数据库或表? –

+0

什么是错误? @Shruti Sharma –

回答

0

尝试:

$sql = "INSERT INTO image_table ('project_id', 'image_id','image_name','category_id','houssup_id','location_id')   VALUES(NULL,$image_id,'$image_name',$category_id,$houssup_id,$location_id)"; 
0

关于你的函数定义:

function saveImageData($data,$imgFile){ 

这里的第一个参数是$data,所以你的函数内部它会$data$_POST。在您的函数实现中,将所有$_POST$_FILES替换为$data$imgFile。它会工作。

原因:你调用它像:if(saveImageData($_POST,$_FILES)){

所以,你的函数定义中,$_POST可作为$data$_FILES可作为$imgFile

更新的代码:

<?php 
    //Saving Data to Image Table 
    function saveImageData($data,$imgFile){ 
       $project_id = isset($data['project_id']) ? mysql_real_escape_string($data['project_id']) : ""; 
       $image_id = isset($data['image_id']) ? mysql_real_escape_string($data['image_id']) : ""; 
       //$user_id = isset($data['user_id']) ? mysql_real_escape_string($data['user_id']) : ""; 
       $image_name = isset($data['image_name']) ? mysql_real_escape_string($data['image_name']) : ""; 
       if(isset($imgFile['tmp_name']) && filesize($imgFile['tmp_name'])>0) 
        saveImageFile($imgFile['tmp_name'],$image_id."_".$project_id."_".$category_id."_".$image_name); 
       $category_id = isset($data['category_id']) ? mysql_real_escape_string($data['category_id']) : ""; 
       $houssup_id = isset($data['houssup_id']) ? mysql_real_escape_string($data['houssup_id']) : ""; 
       $location_id = isset($data['location_id']) ? mysql_real_escape_string($data['location_id']) : ""; 
       // Insert data into data base 
       $sql = "INSERT INTO `".DB_NAME."`.`image_table`(`project_id`, `image_id`,`image_name`,`category_id`,`houssup_id`,`location_id`) 
       VALUES(NULL,'$image_id','$image_name','$category_id','$houssup_id','$location_id')"; 
       echo $sql; 
       if(mysql_query($sql)) 
        return true; 
       else 
        return false; 
    }