Переменная PHP не принимает значение назначенного ей значения элемента базы данных - PullRequest
0 голосов
/ 24 октября 2019

Я получил результат MySQL для запроса, используя расширение MySQLi PHP. Результирующая таблица запроса имеет длину только одну запись

<?php
if(!empty($_POST["search"]))
{ 
  $query = "SELECT * FROM album WHERE name = '".$_POST["search"]."'";
  $result = mysqli_query($conn,$query);
  echo "<table>"; 
  echo"<tr><th>Album-ID</th><th>No of songs</th><th>Creator id</th><th>date of release</th><th> name</th></tr>";
  while($row = mysqli_fetch_array($result))
  {  
    echo "<tr><td>" . $row['a_id'] . "</td><td>" . $row['no_of_songs'] ."</td><td>".$row['c_id']."</td><td>".$row['d_o_creation']."</td><td>".$row['name']."</td></tr>";
  }

  echo "</table><br>"; 
  $alb_id=$row['a_id'];


  $query2 = "SELECT * FROM track WHERE album_id = '".$alb_id."'";

  $result2 = mysqli_query($conn,$query2);
  echo "<table>"; 
  echo"<tr><th>Track-ID</th><th>Track-Name</th><th>Rating</th><th>Length</th><th>Album-ID</th><th>Artist-ID</th></tr>;";

  while($row2 = mysqli_fetch_array($result2))
  {  

    echo "<tr><td>" . $row2['t_id'] . "</td><td>" . $row2['name'] ."</td><td>".$row2['rating']."</td><td>".$row2['length']."</td><td>".$row2['album_id']."</td><td>".$row2['art_id']."</td></tr>";
  }
  echo "</table>";
}

?>

Переменной php $alb_id я назначил один из элементов таблицы, извлеченных из sql: $alb_id=$row['a_id'];

Однакоэта переменная отображается как пустая. Почему это происходит?

1 Ответ

0 голосов
/ 24 октября 2019

Если ваш запрос использует fetchAll вместо fetch, то вам, возможно, придется использовать

$alb_id=$row[0]['a_id'];

Другими словами, извлечь значение из первой записи в наборе записей.

...