2017-10-25 15 views
5

tôi chỉ viết một số mã cơ bản PHP mà trông giống như sau:Làm cách nào để tạo JSON từ câu lệnh đã được thực hiện?

$pdo = new PDO("mysql:host=localhost;dbname=locationtracker", "xxxx", "xxxx"); 
$statement = $pdo->prepare("SELECT * FROM waypoints"); 
$result = $statement->execute(); 

if ($result){ 
    echo "Success"; 
    $resultArray = array(); 
    $tmpArray = array(); 

    while($row = $statement->fetch()){ 
     print_r($row); 
     echo "<br>"; 
     $tmpArray = $row; 
     array_push($resultArray, $tmpArray); 
    } 
    print_r(json_encode($resultArray)); 
}else{ 
    die("Error.<br>"); 
} 

vẻ Bảng sql 'waypoints' như vậy:

waypoints 
     | x: double 
     | y: double 
     | name: varchar(255) 
     | city: varchar(255) 
     | id: Int 

Vì vậy, tôi muốn chuyển đổi mảng sang định dạng JSON. Âm thanh khá đơn giản, nhưng mã PHP của tôi được tạo ra như sau:

Success 
Array ([x] => 7.0000 [0] => 7.0000 [y] => 32.0000 [1] => 32.0000 [name] => Georgia [2] => Georgia [city] => Georgia [3] => Georgia [id] => 1 [4] => 1) 
Array ([x] => 5.0000 [0] => 5.0000 [y] => 34.000 [1] => 34.000 [name] => Home [2] => Home [city] => St.Martin [3] => St.Martin [id] => 1 [4] => 1) 

[{"x":"7.0000","0":"7.0000","y":"32.0000","1":"32.0000","name":"Georgia","2":"Georgia","city":"Georgia","3":"Georgia","id":"1","4":"1"},{"x":"5.0000","0":"5.0000","y":"34.000","1":"34.000","name":"Home","2":"Home","city":"St.Martin","3":"St.Martin","id":"1","4":"1"}] 

Đó không phải là điều tôi muốn có. Tất cả các biến được nhân đôi ngay bây giờ (một lần: tên, lần thứ hai: chỉ mục). Có cách nào để chỉ nhận các biến theo tên bởi vì tôi không muốn mọi đối tượng là hai lần trong mảng và đối tượng JSON của tôi.

Nếu bạn có thêm bất kỳ câu hỏi nào, hãy cho tôi biết.

+3

'$ Câu lệnh> lấy (PDO :: FETCH_ASSOC);' –

Trả lời

Các vấn đề liên quan