2015-08-03 3 views
0

Я пытаюсь вставить некоторые данные из моего android приложения в мой database используя php, я попытался ниже сценарий, но я получаю эту ошибкуВставьте в базу данных с помощью PHP андроида

Fail 3﹕ org.json.JSONException: End of input at character 0 of 

PHP сценарий

<?php 
     $servername = ""; 
     $username = ""; 
     $password = ""; 
     $dbname = ""; 


     // create connection 
     $conn = new mysqli($servername, $username, $password, $dbname); 
     // check connection 

     if ($conn->connect_error) { 
      die("Connection failed: " . $conn->connect_error); 
     } 

     // insert values into table 
     $name=$_REQUEST['name']; 
     $email=$_REQUEST['email']; 
     $message=$_REQUEST['message']; 


     $sql = "INSERT INTO user_message (`NM_id_mes`, `NM_mail`, `NM_content`, `NM_datetime`, `NM_name`) 
       VALUES (Null,$email,$message,NOW()+ INTERVAL 7 HOUR,$name)"; 

     $flag['code']=0; 

     if ($conn->query($sql) === TRUE) { 
      //echo "New record created successfully"; 
      $flag['code']=1; 
     } else { 
      $flag[code']=0; 
     } 
     echo json_encode($flag); 
     $conn->close(); 
     ?> 

Android Часть

@Override 
    protected Void doInBackground(Void... params) { 
      nameValuePairs = new ArrayList<NameValuePair>(); 
      nameValuePairs.add(new BasicNameValuePair("name", ContactUsFragment.name)); 
      nameValuePairs.add(new BasicNameValuePair("email", ContactUsFragment.email)); 
      nameValuePairs.add(new BasicNameValuePair("message", ContactUsFragment.message)); 

     Log.d("name , email , message ", 
       ContactUsFragment.name+"--- "+ContactUsFragment.email+"--- "+ContactUsFragment.message); 
     try { 
      HttpClient httpclient = new DefaultHttpClient(); 
      HttpPost httppost = new HttpPost("http://example.com/Message.php"); 
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
     HttpResponse response = httpclient.execute(httppost); 
     HttpEntity entity = response.getEntity(); 
     is = entity.getContent(); 
     Log.e("pass 1", "connection success "); 
    } catch (Exception e) { 
     Log.e("Fail 1", e.toString()); 

    } 

    try { 
     BufferedReader reader = new BufferedReader 
       (new InputStreamReader(is, "iso-8859-1"), 8); 
     StringBuilder sb = new StringBuilder(); 
     while ((line = reader.readLine()) != null) { 
      sb.append(line + "\n"); 
     } 
     is.close(); 
     result = sb.toString(); 
     Log.e("pass 2", "connection success "); 
    } catch (Exception e) { 
     Log.e("Fail 2", e.toString()); 
    } 

    try { 
     JSONObject json_data = new JSONObject(result); 
     code = (json_data.getInt("code")); 

     if (code == 1) { 
      Log.d("Inserted Successfully", ""); 
     } else { 
      Log.d("Sorry Try Again", ""); 
     } 
    } catch (Exception e) { 
     Log.e("Fail 3", e.toString()); 
    } 

    return null; 
} 
+1

Попробуйте изменить запрос следующим образом: '$ SQL =«INSERT INTO USER_MESSAGE (NM_id_mes, NM_mail, NM_content, NM_datetime, NM_name) ЗНАЧЕНИЯ (Null, «$ электронной почты ',' $ message ', NOW() + INTERVAL 7 HOUR,' $ name ') ";' – Elyor

+0

Вы изменили url во время работы http://example.com/Message.php – sachithkn

+0

ту же ошибку запутанную вещь здесь что он работает, но для другой таблицы. i не знаю, что в этот раз не так. – mohnage7

ответ

1

У вас есть небольшая ошибка в вашем PHP скрипт

<?php 
    $servername = ""; 
    $username = ""; 
    $password = ""; 
    $dbname = ""; 


    // create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    // check connection 

    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 

    // insert values into table 
    $name=$_REQUEST['name']; 
    $email=$_REQUEST['email']; 
    $message=$_REQUEST['message']; 


    $sql = "INSERT INTO user_message (`NM_id_mes`, `NM_mail`, `NM_content`, `NM_datetime`, `NM_name`) 
      VALUES (Null,$email,$message,NOW()+ INTERVAL 7 HOUR,$name)"; 

    $flag['code']=0; 

    if ($conn->query($sql) === TRUE) { 
     //echo "New record created successfully"; 
     $flag['code']=1; 
    } else { 
     //$flag[code']=0; !!!!!!!!!! ERROR 
     $flag['code']=0; 
    } 
    echo json_encode($flag); 
    $conn->close(); 
    ?> 
+0

Можете ли вы указать, где именно, я проверил его с телефона прямо сейчас, и я не может найти разницу между старым скриптом и ур ответ. – mohnage7

+0

Разница в флаге линии [code '] = 0; Я написал !!!! ошибка в моем ответе – eurosecom

+0

LOL жаль был на мобильном телефоне, я вижу его сейчас :) спасибо – mohnage7