получить строки из MySQL в массиве PHP [не дублировать любые другие вопросы]

0

Поскольку я упомянул не дублировать другие вопросы, заданные пользователями, в другом решении люди получают значения и печатают их на одной странице. Но мне нужно хранить данные mysql в php-массиве и передать этот массив в мое приложение для Android.

Ниже мой PHP-код, чтобы получить список данных из mysql db, теперь мне нужно хранить эти данные в массиве php, чтобы я мог отправить эти данные обратно в приложение Android, которое вызывает эту страницу. Итак, как я могу сохранить результаты в php-массиве.

$stmt = $linkID1->prepare("select slno,video_url,views,downloads from VideoUploads");
    $stmt->execute();
    $stmt->bind_result($slno,$video_url,$views,$downloads);
    $stmt->fetch();
    $stmt->close();

здесь $stmt-> bind_result() может хранить только один результат за раз, поэтому мне нужен массив, который может хранить все результаты, затем я передам этот массив моему приложению для Android.

Теги:

3 ответа

0

Наконец, получил решение с некоторыми googling--

/* Get total number of records */
$sql = "SELECT count(*) FROM VideoUploads";
$retval = $conn->query($sql);
if(! $retval )
{
  die($mysqli->error.__LINE__);
}

$rec_count = $retval->fetch_row();
$rec_count = $rec_count[0];

//getting all data from table
$sql = "SELECT * FROM VideoUploads ORDER BY slno DESC";

$retval = $conn->query($sql);
if(! $retval )
{
 die($mysqli->error.__LINE__);
}

//creating an array for response
 $response = array();

 if ($retval->num_rows > 0) {
 $response["wallpapers"] = array();
 $response["success"] = 1;
 $response["count"]= $rec_count;
 while ($row = $retval->fetch_array()) {
        // temp wallpaper array
        $wallpaper = array();
        $wallpaper["slno"] = $row["slno"];
        $wallpaper["video_url"] = "http://xxxwebsiteurlxxx/".$row["video_url"];
        $wallpaper["downloads"] = $row["downloads"];
        $wallpaper["views"] = $row["views"];


        // push all data into final response array
        array_push($response["wallpapers"], $wallpaper);
    }

    // echoing JSON response
   echo str_replace('\/','/',json_encode($response));
   //echo str_replace('\/','/',json_encode($response,JSON_PRETTY_PRINT));

} else {
    // no wallpapers found
    $response["success"] = 0;
    $response["message"] = "No Wallpapers found";
}
0
<?php
$resultdata = array();
$resultdata['data']=array();
$stmt = $linkID1->prepare("select slno,video_url,views,downloads from VideoUploads");
$stmt->execute();
$stmt->bind_result($slno,$video_url,$views,$downloads);
$stmt->fetch();
$result = $stmt->get_result();
while ($myrow = $result->fetch_assoc()) {
$rowdata = array('slno'=>$myrow->slno,'video_url' => $myrow->video_url, 'views' => $myrow->views,'downloads'=>$myrow->downloads);
array_push($resultdata['data'], $rowdata);
}
$stmt->close();
?>
0

Вы задаете два разных вопроса, так что вот два разных ответа:

Как хранить некоторые вещи в массиве?

Поскольку у вас уже есть эти значения в некоторых переменных, вы можете просто создать массив с ними:

$arrayOfStuff = array($slno,$video_url,$views,$downloads);

Но вы можете посмотреть на get_result вместо bind_result. Вы могли бы сделать что-то вроде:

$stmt = $linkID1->prepare("select slno,video_url,views,downloads from VideoUploads");
$stmt->execute();
$arrayOfStuff = $stmt->get_result()->fetch_array();
$stmt->fetch();
$stmt->close();

Как отправить массив в мое приложение для Android?

Ну, это зависит от вашего приложения. Думаю, вы пишете API, к которому он будет обращаться? Ожидает ли вас, что вы ответите с помощью json или xml или что-то еще? Вы, вероятно, будете делать что-то вроде этого:

echo json_encode($arrayOfStuff);

Но здесь действительно недостаточно информации, чтобы правильно ответить на эту часть вашего вопроса.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню