我想「自動」將我所有的數據庫數據加載到和/或$_SESSION['db']
。因此,我只需加載一次該代碼,而不是在整個網站中加載一些小部分。PHP:用整個數據庫數據創建一個數組
我能夠查詢元數據和原始數據,我的問題是創建數組。
比方說,我有一個表temp
的列name
和age
我希望能夠做這樣的事情:echo $db['temp']['name'] . "'s age is: " . $db['temp']['age'];
-Obviously我有很多包含大量列的表。這只是一個例子
<?php
$dbn = "db_name";
$dbu = "db_user";
$dbp = "db_password";
$hst = 'db_host';
$dbc = mysql_connect($hst,$dbu,$dbp);
$sql_metadata =
"SELECT `COLUMNS`.`TABLE_NAME` as 'table' , `COLUMNS`.`COLUMN_NAME` as 'column'
FROM `information_schema`.COLUMNS
WHERE `COLUMNS`.`TABLE_SCHEMA` = '$dbn'
ORDER BY TABLE_NAME ASC , `COLUMNS`.`COLUMN_NAME` ASC";
$dbq = mysql_query($sql_metadata, $dbc);
while($meta = mysql_fetch_array($dbq))
{
$sql_rawdata = "SELECT `$meta['column']` FROM `$dbn`.`$meta['table']`";
$dbq2 = mysql_query($sql_rawdata);
foreach(($raw = mysql_fetch_array($dbq2)) as $value))
{
$db = array
(
$meta['table'] => array($meta['column'] => $value)
);
}
}
print_r($db);
?>
我們強烈不推薦的,如果你是一個共享的主機上,在服務器上的任何人都可以從'/ tmp目錄/' – Adi
如何讀取數據庫你有沒有想到他的db存儲在tmp/-folder中? AFAIK所有表都存儲在MySQL安裝文件夾中的一個名爲「data」的子文件夾中... – Corsair
出於好奇;這是什麼目的? – Repox