如何使用 php 查询创建具有权限的 postgres 用户
How to create a postgres user with privileges using php query
我想使用 php 在我的数据库中创建一个对 table 具有所有权限的用户,但我的代码无法正常工作。
我试过这段代码:
$query="CREATE USER WITH password ";
$result = pg_prepare($dbh, "", $query);
$result = pg_execute($dbh, "", array($utente, md5($psw)));
$query="GRANT ALL PRIVILEGES ON match to ";
$result = pg_prepare($dbh, "", $query);
$result = pg_execute($dbh, "", array($utente));
然后我尝试更改它,将变量移到字符串之外,但它也不起作用。
$query="CREATE USER " .$utente . " WITH password ". md5($psw);
$result = pg_prepare($dbh, "", $query);
$result = pg_execute($dbh, "", array());
$query="GRANT ALL PRIVILEGES ON match to " . $utente;
$result = pg_prepare($dbh, "", $query);
$result = pg_execute($dbh, "", array());
$result 是错误的,在我的数据库中我没有得到我想要创建的新用户。
- 用户名是一个标识符,可以用双引号括起来
""
或保留原样。
- 密码是文本值,必须用单引号括起来
''
一般来说:传递给查询的所有值都应被视为准备好的语句变量。在这种情况下,我无法用 pg_prepare
.
中参数数组中的值替换 </code>
<p>所以这是一个通过 "hand" 转义的工作示例。</p>
<pre><code>$utente = pg_escape_identifier('username');
$psw = pg_escape_string('pass');
$query="CREATE USER {$utente} WITH password '{$psw}'";
pg_prepare($dbh, "", $query);
$result = pg_execute($dbh, "", []);
我想使用 php 在我的数据库中创建一个对 table 具有所有权限的用户,但我的代码无法正常工作。 我试过这段代码:
$query="CREATE USER WITH password ";
$result = pg_prepare($dbh, "", $query);
$result = pg_execute($dbh, "", array($utente, md5($psw)));
$query="GRANT ALL PRIVILEGES ON match to ";
$result = pg_prepare($dbh, "", $query);
$result = pg_execute($dbh, "", array($utente));
然后我尝试更改它,将变量移到字符串之外,但它也不起作用。
$query="CREATE USER " .$utente . " WITH password ". md5($psw);
$result = pg_prepare($dbh, "", $query);
$result = pg_execute($dbh, "", array());
$query="GRANT ALL PRIVILEGES ON match to " . $utente;
$result = pg_prepare($dbh, "", $query);
$result = pg_execute($dbh, "", array());
$result 是错误的,在我的数据库中我没有得到我想要创建的新用户。
- 用户名是一个标识符,可以用双引号括起来
""
或保留原样。 - 密码是文本值,必须用单引号括起来
''
一般来说:传递给查询的所有值都应被视为准备好的语句变量。在这种情况下,我无法用 pg_prepare
.
</code>
<p>所以这是一个通过 "hand" 转义的工作示例。</p>
<pre><code>$utente = pg_escape_identifier('username');
$psw = pg_escape_string('pass');
$query="CREATE USER {$utente} WITH password '{$psw}'";
pg_prepare($dbh, "", $query);
$result = pg_execute($dbh, "", []);