我正在编写一个供个人使用的小型 PHP/MySQL 应用程序。这是我第一次使用 PHP,所以请耐心等待。
我希望能够在需要时更改数据库架构,因此所有内容都放入变量中(例如表和列名称)。我在开发过程中使用了两种方法:
- 全局变量
db_schema.php:
$table = "table_name";
$column = "column_name";
main.php:
function do_db_stuff()
{
global $table;
global $column;
global $db;
$db->query("SELECT `$column_name` FROM `$table_name`;");
}
- 定义
db_schema.php:
define (TABLE, "table_name");
define (COLUMN, "column_name");
main.php:
function do_db_stuff()
{
global $db;
$db->query("SELECT `" . COLUMN . "` FROM `" . TABLE . "`;");
}
现在,当我使用变量时,我喜欢查询字符串的良好语法 - 我不需要使用 .
连接,但是这种方法需要大量的 global
每个函数开头的语句。这是一个破坏交易的事情。第二种方法取消了 global
s,但语法不太好。
是否有耗时考验的 PHP 风格的解决方案来解决这个问题?
最佳答案
这个怎么样?
$schema = array(
'table' => 'spam',
'column' => 'eggs',
);
function do_db_stuff() {
global $db;
global $schema;
$sql = sprintf(
'SELECT `%s` FROM `%s`',
$schema['table'],
$schema['column']
);
$db->query( $sql );
}
关于php - 如何在 PHP 中使用数据库架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21233633/