0

我正在尝试创建一个表名是参数的表。可能吗?像这样:

$result = pg_query("CREATE TABLE '$_POST[nome_arquivo_software]' (
    id serial CONSTRAINT pk_'$_POST[nome_arquivo_software]' PRIMARY KEY,
    nome  varchar (80),
    email varchar (80),
    estado varchar (80),
    acessos numeric
)"); 
4

1 回答 1

3

表名不是字符串文字,而是标识符-> 将单引号更改为双引号 -> 带引号的标识符。

id 字段的名称不是 pk_+string 文字,而是整个内容是一个标识符 -> "pk_...."

// <--- intensive checks on $_POST[nome_arquivo_software] and $_POST[nome_arquivo_software] here
$result = pg_query("
    CREATE TABLE \"$_POST[nome_arquivo_software]\" (
    id serial CONSTRAINT \"pk_$_POST[nome_arquivo_software]\" PRIMARY KEY,
    nome  varchar (80),
    email varchar (80),
    estado varchar (80),
    acessos numeric
    )
");
于 2016-01-06T04:10:34.130 回答