数据库数组为单个用户定义的变量

时间:2015-08-05 10:27:25

标签: php arrays mysqli

我正在尝试为我的CMS设置动态设置数据库

数据库设置有两列。

Name | Value

Template | Exige

InstallFolder | v2

基本上我想把所有数据都拉出来并把它放到不同的变量中。

例如,我试图将我的base_folder(安装文件夹)设置为变量。

所以说$ base_folder = $ CoreSettings [1]输出应显示(v2)

$sql = "SELECT * FROM core_settings";
$query = mysqli_query($dbc, $sql) or die (mysqli_error($dbc));

$CoreSettings = array();

while($row = mysqli_fetch_assoc($query)){

  // add each row returned into an array
   $CoreSettings[] = $row; 

 }

 $base_folder = $CoreSettings;
  foreach( $CoreSettings as $key => $val)
   { $$key = $val; }

var_dump($base_folder);

然后输出:

array(5) { [0]=> array(2) { ["name"]=> string(8) "Template" ["value"]=> string(5) "exige" } [1]=> array(2) { ["name"]=> string(13) "InstallFolder" ["value"]=> string(2) "v2" } [2]=> array(2) { ["name"]=> string(16) "MaintainanceMode" ["value"]=> string(1) "0" } [3]=> array(2) { ["name"]=> string(4) "Logo" ["value"]=> string(8) "Logo.png" } [4]=> array(2) { ["name"]=> string(8) "SiteName" ["value"]=> string(18) "Black Nova Designs" } } 

我想获得InstallFolder值。

所以

$base_folder = V2

很抱歉,如果遇到这种愚蠢的事情,我的大脑真的很困难,并且由于尝试了多种方法,代码可能会非常混乱。

但从长远来看,我希望从数据库中获取每个设置,并能够为每个设置分配变量。

例如

$SiteName = $CoreSettings[4];
$maintenance = $CoreSettings[2];

谢谢先进。 凯尔

1 个答案:

答案 0 :(得分:1)

使用第1列的值索引$CoreSettings数组,然后您可以通过相应的键访问这些值:

$CoreSettings = array();

while($row = mysqli_fetch_assoc($query)){

   // add each row returned into an array
   $CoreSettings[$row['name']] = $row['value']; 

}

echo $CoreSettings['InstallFolder']; //outputs V2
echo $CoreSettings['Template']; //outputs Exige