2

クエリの結果から変数を定義しようとしていますが、これを機能させることができません。サイトを多言語化しようとしているので、データベースに保存した多くのテキスト アイテム (識別子) を定義したいと考えています。テーブルは次のようになります。

ID, Identifier, English, Dutch
1, Owned_by, "Owned by", "Eigendom van"
2, Owner_of, "Owner of", "Eigenaar van"
etc
etc

ここで、列識別子は定義する変数であり、2 つの言語のうちの 1 つは変数に与える値です。結果がユーザーによって要求された言語である前のクエリを定義したので、 $language_2 は前のクエリの結果です。したがって、$language_2 = "Dutch" の場合、テーブル内のすべてのレコードを "Dutch" 列の値で定義したいと考えています。

以下のコードを使用すると、変数が出力 (エコー) されますが、サイトで使用する実際の変数として使用することはできません。

$sql_3 = "SELECT Identifier, ".$language_2." as Language FROM translate";
$result_3 = mysql_query($sql_3) OR die (mysql_error());
while ($row_3 = mysql_fetch_array($result_3))
{
echo "$".$row_3['Identifier']." = '".$row_3['Language']."';<BR>";
}

それらを実際に自分のサイトで使用できる変数にするにはどうすればよいですか?

4

3 に答える 3

1

変数名である文字列を括弧で囲みます。

${$row_3['Identifier']} = $row_3['Language'];
于 2012-08-08T10:21:44.997 に答える
0

古い関数を使用する必要がある場合は、関連する配列mysql_fetch_assoc()を取得するために使用できます。次に、変数変数を使用して必要なものを取得しますmysql_*

$$row_3['Identifier'] = $row_3['Language'];
于 2012-08-08T10:22:57.943 に答える
0
${$row_3['Identifier']} = $row_3['Language'];
于 2012-08-08T10:23:50.930 に答える