Я хочу вернуть массив всего найденного в таблице базы данных.В таблице только 2 столбца: id и song_url.Я бы хотел, чтобы массив выглядел так:
Array {
1 => songurl1,
2 => songurl2,
3 => songurl3
}
Ключи - это id каждой строки, а значения - song_url каждой строки.Я использую PDO для этого.
Спасибо.
Редактировать (не видел кнопки редактирования: s):
Вот мой текущий код для этого:
class Database {
protected $connected = false;
protected $dbh = null;
public $test = array();
function __construct($host=null, $user=null, $pass=null, $db=null) {
if ($host && $user && $pass && $db) {
try {
$this->dbh = new PDO("mysql:host=$host;dbname=$db", $user, $pass);
$this->connected = true;
} catch (PDOException $e) {
echo "Could not connect to the database. Please contact an administrator.";
$this->connected = false;
exit();
}
} else {
echo "No or not all variables are passed to the constructer. Contact an administrator.";
$this->connected = false;
exit();
}
}
public function fetchAllSongs() {
$q = $this->dbh->query("SELECT * FROM song_directories");
$result = $q->fetch(PDO::FETCH_ASSOC);
return $result; // this returns an array, yes, but only 1 row
}
}
Кроме того, возвращаемое значение в fetchAllSongs отображает только одну строку (когда я использую print_r ()), а не все строки.Почему это так?