【问题标题】:Assign multiple PHP variables to MySQL values将多个 PHP 变量分配给 MySQL 值
【发布时间】:2014-07-10 15:04:44
【问题描述】:

我正在为一个网站做一个简单的 CMS,它都是这样完成的:

(config.php)

<?php
$title= "My website title";
$something= "Some text here";
// There are around 300 other vars like that.
// All text from the website comes from this file.
?>

(example.php)

<php require ('config.php'); ?>
<html>
    <head>
        <title><?php echo $title ?></title>
    </head>
    <body>
        <p><?php echo $something ?></p>
    </body>
</html>

但现在我想将它传递给 MySQL。一开始我并没有这样做,因为我真的不擅长编码,但在将所有内容整合在一起的过程中,我觉得已经准备好使用数据库和管理面板来完成它。

假设我已经建立了 MySQLi 连接,如何让 config.php 变量从数据库中提取他的数据,而不是静态字符串?

我怎样才能做到这一点,而不会使系统在每个页面加载数百个查询时过载?

【问题讨论】:

  • 你的数据库连接字符串在哪里? (在哪个文件中?)
  • 它将在 config.php 中。以下是 install.php 的连接方式:pastebin.com/pF7Dgb71 // mysql_config.php 只保存数据库 url、管理员和用户名的值
  • 所以,不同的页面会有不同的变量。对吗?
  • 是的,但目前所有页面都从同一个文件中提取数据 - config.php,其中包含所有变量

标签: php mysql mysqli content-management-system


【解决方案1】:

如果您想在同一文件的不同页面中使用不同的变量。然后,获取您当前的页面名称,

$page_name = substr($_SERVER["SCRIPT_NAME"],strrpos($_SERVER["SCRIPT_NAME"],"/")+1);

根据页面名称从数据库中提取您的信息。

config.php

<?php
  if($page_title == 'example.php'){
    $title= $db_title;               // This variable will come from database...
    $something= $db_something;
  }
  else if($page_title == 'example_2.php'){
    $title= $db_title_2;
    $something= $db_something_2;
  }
  etc...
?>

您可以在每个页面中使用相同的 config.php 文件...

【讨论】:

  • 这是一种解决方法,但在研究过程中我发现了一些东西:缓存!这似乎是问题的答案,我将开始搞砸这个:github.com/khoaofgod/phpfastcache
猜你喜欢
  • 2014-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多