2017-09-14 3 views
0

Ich habe Probleme beim Einfügen von Daten in meine Datenbank. Die Daten können nicht eingefügt werden und es werden keine Fehler in meinem Logcat angezeigt. Ich arbeite daran, kann aber die Probleme nicht lösen. Das ist mein PHP-Code:Daten in Server einfügen

<?php 

    require ("config1.php"); 

    if(!empty($_POST)){ 

     $query = "SELECT * FROM announcement WHERE announceID = :announcementID"; 
     $query_params=array(':announcementID'=> $_POST['announcementID']); 

     try{ 
      $stmt=$db->prepare($query); 
      $stmt->execute($query_params); 


     }catch(PDOException $ex){ 
      $response["success"]=0; 
      $response["message"]="Database Error1. Please try again"; 
      die(json_encode($response)); 
     } 


     $row = $stmt->fetch(); 
     if($row){ 

      $query = "INSERT INTO announcement (title,description,start_date,end_date,time) 
            VALUES (:title,:description,:starDate,:endDate,:time) "; 

        $query_params= array(
         ':title'=>$_POST['title']; 
         ':description'=>$_POST['description']; 
         ':startDate' => $_POST['start_date']; 
         ':endDate' => $_POST['end_date']; 
         ':time' => $_POST['time']; 

        ); 


        try { 
        $stmt = $db->prepare($query); 
        $result = $stmt->execute($query_params); 
       } 

       catch (PDOException $ex) { 
        $response["success"] = 0; 
        $response["message"] = "Database Error2. Please Try Again!"; 
        die(json_encode($response)); 
       } 

       $response["success"] = 1; 
       $response["message"] = "Update successful!"; 
       echo json_encode($response) 

      } 
     } 
    ?> 

Unten ist mein Java-Code:

protected String doInBackground(Void... params) { 
       RequestHandler rh=new RequestHandler(); 
       HashMap<String,String> param= new HashMap<String, String>(); 
       param.put(KEY_TITLE,announcement_title); 
       param.put(KEY_DESCRIPTION,announcement_desc); 
       param.put(KEY_START_DATE,start_date); 
       param.put(KEY_END_DATE,end_date); 
       param.put(KEY_TIME,time); 
       param.put(KEY_IMAGE,announcement_image); 
       String result= rh.sendPostRequest(ANNOUNCEMENT_URL,param); 
       return result; 
      } 

Schätzen jemand die Probleme hinweisen kann.

+1

Ich kann nicht finden, wohin Sie die 'ansageID' senden würden - also wette ich für einen undefinierten Indexfehler, der möglicherweise unterdrückt wird. -> stelle sicher, dass error_reporting() aktiviert ist! – Jeff

Antwort

0

Sie PHP-Code enthält Syntaxfehler und Mysql preparement Fehler Platzhalter.

Ich habe den Code umgeschrieben, bitte ersetzen Sie ihn mit Ihrem alten Code.

<?php 

    require ("config1.php"); 

    if(!empty($_POST)){ 
//kindly filter the POST value 
     $query = "SELECT * FROM announcement WHERE announcementID = :announcementID"; 
     $query_params=array(':announcementID'=> $_POST['announcementID']); 
      $stmt=$db->prepare($query); 
      $stmt->execute($query_params); 

/* 
     }catch(PDOException $e){ 
      $response["success"]=0; 
      $response["message"]="Database Error1. Please try again"; 
      die(json_encode($response)); 
     } 
*/ 

     $row = $stmt->fetch(); 
     if($row){ 

      $query = "INSERT INTO announcement (title,description,start_date,end_date,time) 
            VALUES (:title,:description,:starDate,:endDate,:time)"; 
//re written by Ajmal PraveeN 
        $query_params= array(
         ':title'=>$_POST['title'], 
         ':description'=>$_POST['description'], 
         ':startDate' => $_POST['start_date'], 
         ':endDate' => $_POST['end_date'], 
         ':time' => $_POST['time'] 
         ); 

/* 
        try { 
*/ 
        $stmt = $db->prepare($query); 
        $result = $stmt->execute($query_params); 
/* 
       } 

       catch (PDOException $ex) { 
        $response["success"] = 0; 
        $response["message"] = "Database Error2. Please Try Again!"; 
        die(json_encode($response)); 
       } 
*/ 
       $response["success"] = 1; 
       $response["message"] = "Update successful!"; 
       echo json_encode($response); 

      } 
     } 
?> 

Wenn Ihre $_POST['announcementID'] eine numerische Nummer i zu bearbeiten die Post mit einem Sanitize und Titel Beitrag Re kann.

+0

Hallo danke, könnte ich wissen, was du neu geschrieben hast? Ich kann das Andere nicht sehen. – Kleorence

+0

Änderungen in ': ansageID' und $ query_params = array() und echo json_encode ($ response); das sind häufige Fehler :) Just corrected .. So wird der Code gestartet zu arbeiten? Also VOTE UP .. :) willst du filtern oder desinfizieren? –

+0

Jetzt zeigt es "Database Error1. Bitte versuchen Sie es erneut". Könnte ich wissen warum? – Kleorence

Verwandte Themen