我正在PHP中开发一个站点,并且它现在设置了自己的状态和墙系统(分别类似于twitter和facebook)。我试图让用户以后可以更改他的用户名,任何提及该用户的状态或墙帖(如“@woo hi!”)将被替换为新的用户名。使用MySQL替换用户名的最佳方式
我试过在MySQL中使用REPLACE查询,但显然我不能用'newusername'替换'username',因为如果某个用户名@w将用户名改为@f,那么其他人使用用户名@woo帐户将成为@foo。让我的漂移?
我想我的选择是基本上创建我自己的格式来保存状态/墙上的帖子,用| woo替换用户名@woo | (或者表示用户名结尾的任何东西),但是我很好奇,如果有人对此事有不同的想法,或者有人知道让REPLACE查询为我做这件事(就像让它扫描一样!。也就是说,这样的方式@w = @woo我很想听听你的想法
编辑:
我想通了,我知道该怎么做,我更新这个对任何人的将来参考。我决定用#@用户名#替换状态/墙上帖子中的所有@usernames,并将它们保存在数据库中,所以现在我可以用一个简单的REPLACE查询和MySQL替换状态/墙上帖子中的所有用户名称,并且不会有歧义问题(@w会变成我数据库中的#@ w#,这意味着将用户名@w(#@ w#)更改为@f(#@ f#)不会改变#@宇#到#@ foo#。当然,现在在帖子中显示用户名时,我必须通过“unformat”函数运行内容,并在开始和结束时剥去#号,但这并不算太坏。
2011-06-07
Lamoni
+0
只有twitter和facebook,不要浪费时间:) –
2011-06-07 18:11:29
+2
如果MZ因为MySpace而放弃了怎么办? :p –
2011-06-07 18:12:10
+2
yes123,我更喜欢那些能够提高我对手头问题的知识的答案。至于那里只有twitter和facebook,那里也曾经是“只有myspace”。 –
2011-06-07 18:16:31