2012-06-02 5 views
0

Я пытаюсь вернуть все выбранные данные из таблицы mysql. Я хочу вернуть данные в массив, чтобы отобразить это как данные json. Я дошел до сих пор, но я не знаю, как я возвращаю эти данные mysql.как вернуть выбранные данные из базы данных mysql в php

public function getHome() { 
    $result = mysql_query("SELECT * FROM places") or die(mysql_error()); 
    // check for result 
    $no_of_rows = mysql_num_rows($result); 
    if ($no_of_rows > 0) { 
     while($row = mysql_fetch_array($result)) { 
      $data[] = $row; 
     } 
     return $data; 
    } else { 
     // user not found 
     return false; 
    } 
} 

здесь, где я называю этот метод

if($db->getHome()) { 
     $data = $db->getHome(); 
     $response['success'] = 1; 
     $response['uid'] = $data['uid']; 
     $response['name'] = $data['name']; 
     $response['profile_photo'] = $data['profile_photo_path']; 
     $response['places']['place_photo'] = $data['place_photo_path']; 
     $response['places']['created_at'] = $data['created_at']; 
     echo json_encode($response); 
    } else { 
     echo "bye"; 
    } 

вот что это отголоски

{"tag":"home","success":1,"error":0,"uid":null,"name":null,"profile_photo":null,"places":{"place_photo":null,"created_at":null}} 
+0

getHome возвращает многомерный массив. var_dump этот массив, чтобы вы могли видеть, как он выглядит. Кажется, вы теперь не видите, какие типы данных возвращают ваши собственные функции. –

ответ

3

Вы должны определить $ данные в виде массива во-первых, к тому, что ваш код выглядит нормально ,

$data = array(); 

Как вы, возможно, возвращение нескольких строк вы должны делать что-то вроде:

$data = $db->getHome(); // There's no need to call this twice 
if($data) { 
    foreach($data as $place) { 
    // Do what you need to do with each place here 
    } 
} 

Взгляните на то, чтобы увидеть содержимое ваших $ данных print_r($data);

+0

Я сделал то, что вы сказали, но он показывает, что я обновил выше. – 2619

+0

Вы возвращаете потенциально несколько строк из базы данных, но вы пытаетесь получить доступ к данным, не перебирая возвращенные строки. – Rawkode

+0

не могли бы вы дать мне пример кода здесь, как это сделать? – 2619

Смежные вопросы