У меня есть столбцы, что их имена имеют имя 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'");
Однако не из вышеперечисленных работ. Зачем?
Вместо использования одиночных кавычек для имени столбца используйте обратные выходы (на большинстве клавиатур слева от клавиши 1).
Как это:
mysql_query("UPDATE Industries SET `nameSome.User`='$name' WHERE id='$id'");
Потому что это также синтаксис для database.table.column
. Вы должны процитировать их как
`nameUser.name`
Хотя на самом деле, если вы создали / разработали db, вы никогда не должны использовать имена столбцов. Это просто ужасная идея.