问题:PHP变量及查询

我对此有点困惑:我可以在 pg 查询中使用 PHP 变量吗?

$conn = pg_pconnect("...");
$a = 1
$b = array ("....")
$c = array ("....")
$d = array ("....")
$i = $a
$ct = "CREATE TABLE $a
(
$b[$i] bigint,
$c[$i] bigint,
$d[$i] bigint
)";

pg_query($conn, $ct);

$result = pg_query($conn, $ct);
if ($result) {$a = $a++}

如果我循环这 10 次,这将能够创建 10 个表吗?谢谢!

解答

如果您想将字符串准备为 适合 PostgreSQL 的标识符(大小写混合?保留字?)并同时防止 SQL 注入,请输入pg_escape_identifier():

$ct = 'CREATE TABLE ' . pg_escape_identifier($a) . '(
' . pg_escape_identifier($b[$i]) . ' bigint,
' . pg_escape_identifier($c[$i]) . ' bigint,
' . pg_escape_identifier($d[$i]) . ' bigint
)';

当然,除非您的标识符已经准备好。

Logo

PostgreSQL社区为您提供最前沿的新闻资讯和知识内容