2017-10-24 1 views
1

오른쪽에 삽입, 나는 내부 개체가 배열을 가지고 있고 그것은 다음과 같습니다 : 그 싶습니다자바 스크립트 배열 데이터베이스

Array with objects

에 삽입 할 수 내 PHP 데이터베이스에 AJAX 호출을 통해 내 데이터베이스. 내가 배열과 내가 다시 데이터베이스에서 얻을 결과에 JSON.stringfy을 시도

이다

[{" 작업 " : " 타이어 ", " 노트 " : " 안녕하세요 ", " 완료 " : " " 타이어 ", " 노트 " : " 네 개의 타이어을하고 필요 "가}, {" 작업 "이 True, " 완료 " : " 진정한 "}, {" 작업 " : " 타이어 ", " 노트 " : " 타이어 " : {, " 진정한 "} " 작업 "을 : " 네 개의 타이어 ", "이 "를 완료하고 필요 " 노트 " : " 모든 타이어가 필요합니다. ", " 완료 " : " True "}

큰 따옴표가 "으로 바뀌 었습니다. 이것이 따옴표의 기호라는 것을 알고 있지만 따옴표를 사용하고 싶습니다.

또한 배열 전송 및 데이터베이스 반환 빈했습니다.

Javascript code

PHP code

이 주위에 방법이 있나요?

+0

나는 당신이 원하는 것을 얻지 못합니다. 단순히 문자열을 데이터베이스에 저장하고 싶습니까? –

+0

문제가 생기지 않는다면 json을 데이터베이스에 문자열로 저장하고 필요할 때 클라이언트에 줄 수 있습니다. 뭐하고 싶어 ? – RafH

답변

0

데이터베이스 삽입에 PDO (PHP Data Objects)를 사용하십시오. 주입 공격을 막기 위해 준비된 진술을 할 수 있습니다. "safeString"과 같은 함수가 필요하지 않으며 입력 한 내용이 귀하가 얻은 것임을 보증 할 수 있습니다.

다음은 그 모습입니다. 매개 변수가 명명 된 것을 볼 수 있으며 이름이 키인 배열에 값을 전달합니다.

$sql = "UPDATE mutable SET json=:json WHERE id=:id"; 
$statement = $dbh->prepare($sql); 
$statement->execute([":json" => $json, ":id" => $id]); 
$result = $statement->fetchAll(PDO::FETCH_ASSOC); 
0

개체로 변환하려면 PHP json_decode을 사용해야합니다. 그러나 StdClass로만 다시 변환됩니다. 그것을 읽고 적절한 변환을 처리해야합니다. 예 :

$carChecklist = json_decode($_POST['checklist']); 
echo $carChecklist[0]->tyres; 

'타이어'를 반환해야합니다.