2016-08-22 1 views
2

Oleg Neumyvakinの助けを借りて、plesk apiを使ってデータベースを作成することができましたが、今ではユーザを追加する必要がありますそのデータベース。私はデータベースにユーザを追加する方法を研究しましたが、データベースのIDを知る必要があります。これはPHPでは分かりません。たとえば、次の要求コードは、データベースplesk apiでデータベースIDを知らないとデータベースにユーザを追加する方法

<packet> 
<database> 
<add-db> 
    <webspace-id>$webspaceId</webspace-id> 
    <name>$dbName</name> 
    <type>mysql</type> 
</add-db> 
</database> 
</packet> 

を作成し、次のコードは、ユーザーが作成され、あなたは私の問題を見ることができるデータベース

<packet> 
<database> 
    <add-db-user> 
     <db-id>26</db-id> 
     <login>zebra</login> 
     <password>zebra500</password> 
    </add-db-user> 
</database> 
</packet> 

に追加します。 2番目の部分は26のデータベースのIDを使用してユーザーを追加しますが、私はidをpleskを見ずに知ることはなく、オブジェクトを破棄します。

データベースを作成して同時に追加するにはどうすればよいですか?

+0

のような組み込みのXMLパーサPHPのいずれかを使用することができます。あなたは完全にPleskに依存し、私を信じます、あなたはしたくありません。参照してください:http://www.php.net/manual/en/book.pdo.php –

+0

私はデータベースを通常の方法で作成する方法を知っています。例えば "CREATE DATABASE"ですが、この方法はpleskには表示されません。私の上司が欲しい。また、正しいドメインに割り当てません。私は通常mysqliを使用し、pdo btwは使用しません。私は後でpdoを使うかもしれませんが、まだそれを学ぶ時間はありませんでした。また、データベースが作成されると、私はmysqliを使ってテーブルを作成し、すべての操作を行います。 –

+0

さて、Pleskそれは... :-)私はほとんどの場合、最初のリクエストはデータベースIDを含むレスポンスを返すと仮定します。あなたはそれを使用できませんか? –

答えて

1

あなたは、これはPHPからデータベースにアクセスするための良い方法ではありませんSimpleXMLまたはDOMDocument

+1

実際に私自身の質問に答えた後、私はSimplexmlが行く方法であることを発見しました。だから私は別の解決策で答えたにもかかわらず、あなたにチックを与えています。 –

1

私はついに答えました。私はそれが最善の答えであるかどうかはわかりませんが。現時点では唯一の答えです。あなたが私にもっと良い解決策を与えることができれば。私はもちろん、代わりにあなたのことをチェックします。私はidgタグを取り除き、idを使ってユーザを作成するpregの試合でIDを取得しています。

$request = <<<EOF 
<packet> 
<database> 

<add-db> 
    <webspace-id>$webspaceId</webspace-id> 
    <name>$dbName</name> 
    <type>mysql</type> 
</add-db> 

</database> 
</packet> 
EOF; 

$response = $client->request($request); // Send query to Plesk host 
echo $response; // show response 

// This gets the id by using preg match 
preg_match('/<id>(.*)<\/id>/',$response,$match); 
$databaseId=$match[0]; 
echo '</br></br>match:'.($databaseId).'</br></br>'; 
// This strips the id tag 
$answer=$match[0]; 
$search = array('<id>', '</id>'); 
$replace = array("",""); 
$id = str_replace($search, $replace, $answer); 

$request = <<<EOF 
<packet> 
<database> 

    <add-db-user> 
     <db-id>$id</db-id> 
     <login>bert</login> 
     <password>bert500</password> 
    </add-db-user> 

</database> 
</packet> 
EOF; 

'</br></br>'.$response = $client->request($request); // Send query to Plesk host 
echo $response; // show response 
関連する問題