2015-01-13 2 views
0

어떻게 이런 데이터를 ,으로 구분하여 mysql 데이터베이스로 가져올 수 있습니까?자바 스크립트 스타일 코드를 phpmyadmin으로 가져 오는 방법은 무엇입니까?

data = [{ 
    "q": "some text", 
    "a": "var1", 
    "b": "var2", 
    "c": "var3", 
    "p": "1.jpg", 
    "v": "a", 
    "id": 1 
}, { 
    "q": "another question", 
    "a": "var 2.1", 
    "b": "var 2.1", 
    "c": "var 2.1", 
    "v": "a", 
    "id": 2 
} 

MySQL 데이터베이스 테이블이 열 데이터로 구성되어있다 : ID/Q/A/B/C/P/V를 내가 직접 데이터를 가져올 시도했습니다

하지만 '아무튼 일하니?

조언이 있으십니까?

+0

당신이 import라고 할 때 이것을 php insert로 바꾸거나 다른 phpmyadmin으로 직접 가져 오는 스크립트를 의미합니까? (필자의 이해로 phpmyadmin은 .sql 및 .csv 만 가져올 수있었습니다.) – atmd

+1

디코드하여 값을 반복하고 쿼리를 구축하면 합리적인 접근 방식이 될 것입니다 ... – Ben

+0

시도해 봤습니까? http://stackoverflow.com/questions/17367325/importing-json-into-mysql – Spoke44

답변

1

PHP/PDO 그것은 단지 하나의 샷 삽입의 :

$json = '[{ 
    "q": "some text", 
    "a": "var1", 
    "b": "var2", 
    "c": "var3", 
    "p": "1.jpg", 
    "v": "a", 
    "id": 1 
}, { 
    "q": "another question", 
    "a": "var 2.1", 
    "b": "var 2.1", 
    "c": "var 2.1", 
    "v": "a", 
    "id": 2 
}]'; 

$datas = json_decode($json, true); // transform json to php array 

$db = connect(); // you have to change this with your PDO connection 

$dataset = array("q", "a","b", "c", "p", "v", "id"); 
foreach($datas as &$data){ 
    foreach($dataset as $elem){ 
    if(!isset($data[$elem])) 
     $data[$elem] = ""; 
    } 
    $req = $db->prepare("INSERT INTO table (q, a, b, c, p, v, id) VALUES (:q, :a, :b, :c, :p, :v, :id)"); 
    $req->execute($data); 
} 

considere있는이 삽입하기 전에 테이블을 잠그고 행의 많은 경우 후 잠금을 해제 할 수 있습니다.

+0

경고 : PDOStatement :: execute() : SQLSTATE [HY093] : 잘못된 매개 변수 번호 : 바운드 변수의 수가 라인 21의 /home/..../json.php의 토큰 수와 일치하지 않습니다. 'This is the line :'$ req-> execute ($ data);' – m3tsys

+0

데이터가 동일하지 않기 때문입니다. 나는 그것을 처리하기 위해 나의 포스트를 편집했다. – Spoke44

+0

대단히 감사합니다! 편집 작업이 끝났습니다! – m3tsys

관련 문제