在文件中显示数据库变量

时间:2013-12-12 16:09:12

标签: php mysqli

所以我将我的变量全部硬编码到我的页面中,如下所示:

$base_url = 'something'; 
$logo_url = 'somethingelse'; 

然后我将所有这些放入数据库以便于更新,现在我需要将它们放回config.php文件中,以便我的网站可以使用它们。

我尝试了以下操作:(database.php包含所有连接详细信息)

function get_identifiers() {
  require_once 'database.php';
  $result = mysqli_query($con,"SELECT * FROM settings");
  while($row = mysqli_fetch_array($result))
  {
    $identifier = $row['identifier'];
    $value = $row['value'];
            $identifier = $value
  }
  mysqli_close($con);
}

但我一无所获。我能做什么?

2 个答案:

答案 0 :(得分:1)

您应该在数组中设置标识符,将其返回,然后将其解压缩:

require_once 'database.php';

function get_identifiers() {
  $retval = array();

  $result = mysqli_query($con,"SELECT * FROM settings");
  while($row = mysqli_fetch_array($result))
  {
    $identifier = $row['identifier'];
    $value = $row['value'];
    $retval[$identifier] = $value;
  }
  mysqli_close($con);

  return $retval;
}

然后在您的页面上运行:

extract(get_identifiers());

这会根据需要将所有设置更改为变量。

答案 1 :(得分:1)

我认为是因为你的$ identifier = $ value ...如果你想获得标识符的名称作为变量名,请使用$$ identifier = $ value;

但我也建议使用对象或数组

$config = new stdClass;

while($row = mysqli_fetch_array($result)) {
    $indentifier = $row['identifier'];
    $config->$identifier = $row['value'];
}