使用变量作为列名创建表

时间:2015-12-19 16:28:42

标签: php mysql

我目前正在尝试为特定功能构建一个具有吸引力的GUI的数据库管理器。其中一个功能是从变量列表创建一个TABLE,其中每个元素都是变量之一。像这样:

#

真的被困在这里,伙计们。

2 个答案:

答案 0 :(得分:2)

您可以尝试这种方式:

<?php

include('conn.php');

$var[0]='clients';
$var[1]='id int(4) UNSIGNED AUTO_INCREMENT PRIMARY KEY';
$var[2]='name VARCHAR(30) NOT NULL';
$var[3]='surname VARCHAR(30) NOT NULL';

$create = "CREATE TABLE $var[0] (
  $var[1],$var[2], $var[3]
)";


...
?>

此外,要动态添加这些$ vars而不是手动添加,可以执行以下操作:

$create = "CREATE TABLE $var[0] (";
for($i = 1; $i < count($var) - 1; $i++){
  $create.= $var[$i].",";
}
$create .= $var[$i].")";

现在您可以将$ create字符串作为查询执行;

答案 1 :(得分:1)

另一种方法是这样的:

$tableName = array_shift($var);
$columns = implode(', ', $var);

$create = "CREATE TABLE {$tableName} ({$columns}))";

这也是一种更清洁的方法。