2009-09-24 153 views
0

我有一个用户名和姓氏的数据库。有些情况下,我显示用户的全名,但在其他情况下,我只显示名字。我有一个收集用户信息的功能。从mysql数据库中获取不需要的数据? (php)

函数内部,我使用sql查询来收集名字和姓氏,但我也concat第一个和最后一个名称,并将其标记为full_name。

例..

$q = "SELECT first_name, last_name, CONCAT_WS(' '. first_name, last_name) AS full_name 
        /* A lot of other information */ 
FROM users WHERE user_id=$user_id"; 

我的问题是,这是太多了,是没有必要得到不同形式的相同数据直接从数据库中,或者它会更好地只取前和姓氏从数据库中,然后concat后在php像这样...

echo $user['first_name'].' '.$user['last_name']; 

回答

3

我只是尽可能地使用数据库进行信息存储和检索,并将诸如“全名”(实际上可能仅用于显示目的)留给应用程序,即php逻辑。

+1

它是一个意见问题,我同意这个人 - 恕我直言,它更好地处理代码级别的格式。 PHP为您提供了**更广泛的各种字符串操作函数。 – 2009-09-24 05:54:54

1

这并不重要。设置一个变量只需要一小部分时间。如果您预计会有很多请求,那么在MySQL中设置它会更快,因为在PHP中执行时,它必须在返回的数组中搜索数组键并将该值设置为变量。如果你在MySQL中设置它,你可以直接在数组之外直接使用该值,而不需要中间步骤。

但是,除非您获得大量请求该数据的人,否则您将不会注意到其中的差异。

相关问题