PHP를 통해 MySQL 데이터베이스에 모든 Json 데이터를 가져 오려고합니다.이 json 객체에 내 모든 전화 연락처 정보가 있지만, 마지막으로 하나만 삽입합니다. 전화 연락 세부 내 데이터베이스에 도움이 제발 이미 질문을 게시했지만 만족스러운 답변을 찾지 못했습니다. 나는 응용 프로그램을 디버깅하고 makehttprequest (.....) 함수의 매개 변수에있는 모든 연락처 세부 정보를 포함하지만 마지막 연락처 상세 정보 만 데이터베이스에 삽입합니다.Json 객체의 모든 데이터를 PHP를 통해 데이터베이스에 가져 오지 못함
내 PHP 코드는 아래와 같습니다: 나는 동안 복사
$response = array();
// check for required fields
if (isset($_POST['name']) && isset($_POST['id']) && isset($_POST['phone'])&& isset($_POST['email'])) {
$id = $_POST['id'];
$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];
// include db connect class
require_once __DIR__ . '/db_connect.php';
// connecting to db
$db = new DB_CONNECT();
// mysql inserting a new row
$result = mysql_query("INSERT INTO crm(id, name, phone, email) VALUES('$id', '$name', '$phone', '$email')");
// check if row inserted or not
if ($result) {
// successfully inserted into database
$response["success"] = 1;
$response["message"] = "Product successfully created.";
// echoing JSON response
echo json_encode($response);
} else {
// failed to insert row
$response["success"] = 0;
$response["message"] = "Oops! An error occurred.";
// echoing JSON response
echo json_encode($response);
}
} else {
// required field is missing
$response["success"] = 0;
$response["message"] = "Required field(s) is missing";
// echoing JSON response
echo json_encode($response);
}
?>
내 JSON 객체 응용 프로그램을 디버깅하는 것입니다 :
[ID = 85, 이름 = , 전화 =, 이메일 = 2 , id = 106, name = , phone =, email = 2, id = 93, name = , phone =, email = 2, id = 62, name =., phone = * 100 #, email = 2 아이디 = 104, 아이디 = 00, 전화 = 00, 이메일 = 2, 아이디 = 90, 아이디 = 03005103877, 전화 = 03005103877, 이메일 = 2, 아이디 = 26, 아이디 = 03005580234, 전화 = 03005580234 , email = 2, id = 154, name = Wajaht, phone = + 923336124178, email = 2, id = 230, name = Yasir Altaf, 전화 = 03215169284, 이메일 = 2, id = 55, name = Zafar Abbas, phone = 03016775189, 이메일 = 2]
그러나 그것은 이름 = 자파르 압바스입니다 마지막 접촉 세부 사항을 삽입, 전화 = 03016775189, 이메일은 = 2하지만 한 번에 모든 세부 사항을 삽입하려면,
을 감사합니다 좀 도와주세요AYsync 작업 클래스 :
public class LoadSavingInDatabase extends AsyncTask<ArrayList<SavingContacts>,String,String>{
private static final String TAG_SUCCESS = "success";
private static final String URL = "http://amiranzur.com/android_connect/create_product.php";
JSONObject jsonObject= null;
@Override
protected String doInBackground(ArrayList<SavingContacts>... param) {
ArrayList<SavingContacts> contactArray = param[0];
List<NameValuePair> params = new ArrayList<NameValuePair>();
for(int i = 0; i < contactArray.size(); i++){
SavingContacts contact = contactArray.get(i);
params.add(new BasicNameValuePair("id", contact.id));
params.add(new BasicNameValuePair("name", contact.name));
params.add(new BasicNameValuePair("phone", contact.phone));
params.add(new BasicNameValuePair("email" , contact.email));
}
JSONObject jsonObject= new JSONParser().makeHttpRequest(URL, "POST", params);
if(jsonObject != null){
try {
int success = jsonObject.getInt(TAG_SUCCESS);
if (success == 1) {
Log.d("create","ok2");
bool = true;
Log.d("insert","true" + bool);
} else {
}
} catch (JSONException e) {
Log.d("exception","exc "+e);
Log.d("create","lpc");
}
}
else if(jsonObject == null){
Log.d("null", "null1");
bool = false;
}
return null;
}
}
protected void onPostExecute(boolean bool){
if(bool == false)
Log.d("Insertion failed", "ID already inserted");
}
JSON P의 arser 등급 :
당신이 입력이 어떻게 될지의 예를 줄 수 : 각 반복에서 삽입을 수행 할 수 있도록
루프 내부의 요청을 이동? 예를 들어'$ _POST [ 'name']'또는'$ _POST [ 'id']'의 일반적인 값은 무엇입니까? –
데이터베이스에 삽입해야하는 내 json 객체를 언급 한 질문을 편집했으나 마지막 세부 정보 만 삽입합니다. – Shazar
JSON 객체가 보이지만 전체 JSON 객체를 어떻게 전달했는지 이해할 수 없습니다. $ _POST' 변수가 있습니다. 양식이 실제로 제출 될 때,'$ _POST [ 'name']'와 같은 값은 무엇입니까? 그것은 아마도 ... 자파르 압바스 다. 단일 문자열. 그래서 PHP 코드는'$ _POST'에서 나온 4 개의 문자열 입력을 기반으로 한 단일 레코드를 삽입하는 코드입니다. 더 중요한 질문은'$ _POST' 요청에 전달할 내용입니다. 여러 레코드를 삽입하려면 json 객체를 하나의'$ _POST' var로 문자열로 전달해야합니다. –