11

名前が構造になっている列がありますが、nameUser.Name更新に問題があります。私はいくつかの可能性を試しました:

// Ideally, I'd like to do this (since the User.Name is 'dynamic', ie, it depends
// on who is logged in):
$userLogged = 'Some.User';
$columnName = 'name' . $userLogged;
mysql_query("UPDATE Industries SET '$columnName'='$name' WHERE id='$id'");
// Another try:
mysql_query("UPDATE Industries SET $columnName='$name' WHERE id='$id'");
// Alternatively, if the above cannot be achieved:
mysql_query("UPDATE Industries SET 'nameSome.User'='$name' WHERE id='$id'");
// Yet another try:
mysql_query("UPDATE Industries SET nameSome.User='$name' WHERE id='$id'");

ただし、上記の作品はありません。なんで?

4

2 に答える 2

18

それは の構文でもあるからですdatabase.table.column。あなたはそれらを次のように引用する必要があります

`nameUser.name`

ただし、データベースを作成/設計した場合は、そのような列名を使用しないでください。それはただの恐ろしい考えです。

于 2012-04-19T13:39:14.897 に答える
11

列名に一重引用符を使用する代わりに、バックティックを使用します (ほとんどのキーボードでは、1 キーの左側に)。

このような:

mysql_query("UPDATE Industries SET `nameSome.User`='$name' WHERE id='$id'");
于 2012-04-19T13:37:52.337 に答える