[UPHPU] SQL field as prefix for all fields
MilesTogoe
miles.togoe at gmail.com
Mon Jan 28 18:18:02 MST 2008
Lamont Peterson wrote:
> On Monday 28 January 2008 03:51:28 pm Wade Preston Shearer wrote:
>
>> The AS option in an SQL command allows you to rename a field, like this:
>>
>> select username as user, password as secretcode
>>
>>
>> Is it possible to rename all of the fields that you pull at once?
>> Here's what I want to do:
>>
>> I have a table of fields that are all named with the same prefix. I
>> want to rename them as they are pulled from the DB with a different
>> prefix. Is that possible?
>>
>
> MySQL (nor any other RDBMS, AFAIK) does not have any function that will do
> this for you, but from within PHP, it wouldn't be hard to write a simple
> loop. Here's an overview (I don't have time right now to write up the code,
> sorry):
>
> 1. $fields = "DESCRIBE TABLE db.table"
> 2. $query = "SELECT ";
> 3. foreach ($fields as $field) { $query += $field."AS ".(preg_replace
> ('/^old_prefix_/', 'new_prefix_', $field)).", "; }
> 4. Add any other query elements, like a WHERE clause.
> 5. Run the $query.
>
> I think that method would be pretty simple to implement and should work with
> just about any SQL RDBMS.
>
>
I've found that it's best to have a function that's not "hidden" such as
a db view might be so one year from now if you have to figure out what
you did, it's easy to see. Thus, I would go with something like Craig
or Lamont suggested.
More information about the UPHPU
mailing list