[prev in list] [next in list] [prev in thread] [next in thread] 

List:       php-general
Subject:    Re: [PHP] Re: How to explode an array from a Database?
From:       Larry Garfield <larry () garfieldtech ! com>
Date:       2017-05-30 22:14:38
Message-ID: 28eb1792-af82-29ab-93a4-bc3f16b87eff () garfieldtech ! com
[Download RAW message or body]

To the specific issue you're having:

"SELECT serial, $category as cat FROM categories"

That way the result rows will always have a column named "cat".

That said, German Geek is correct that if you feel the need to do that, 
you should probably be looking at a different approach, or using a 
formal query builder library.  (Doctrine DBAL is the most popular but by 
no means the only.)

Also, extract() is almost never the right tool.  Just reference into the 
array: $row['cat'].  (And then remember to escape your output properly.)

--Larry Garfield

On 05/28/2017 07:16 PM, German Geek wrote:
> First of all, I would recommend using
> http://php.net/manual/en/book.pdo.php PDO.
> Having something like
> db_query($db_link, "SELECT serial,$category FROM categories");
> is a bad idea if you are running this code in a web page, because of SQL
> injections.
>
> There is a fetch for assoc and then you can find the array key of the
> associate array.
>
> You'll find a lot of resources just googling some of these words. Maybe
> look into using the preg_split function and finding a regular expression to
> split on if you have to do that anywhere.
>
> More of the code and samples of data would also help with helping you.
>
> On Mon, 29 May 2017 at 02:34 Michelle Konzack <linux4michelle@gmail.com>
> wrote:
>
>> I tried to use the following (base) code:
>>
>> ----8<------------------------------------------------------------------
>> [01] $db_link   = db_connect();
>> [02]  $db_result = db_query($db_link, "SELECT serial,$category FROM
>> categories");
>> [03]  $cat_array = db_fetch_all($db_result);
>> [04]
>> [05]  sort($cat_array, SORT_NUMERIC);
>> [06]
>> [07]  foreach($cat_array as $row) {
>> [08]    extract($row);
>> [09]    $strg .= "        <a
>> href=\"/?what=category&num=$serial\">$category</a><BR>\n";
>> [10]  }
>> [11]
>> [12]  db_close($db_link);
>> ----8<------------------------------------------------------------------
>>
>> the problem is in db_query (line 02) with "$category"  where  the  value
>> can change between e.g.
>>
>> category
>> cat_de
>> cat_fr
>> cat_ee
>> cat_ru
>> ...
>>
>> so, how I can evaluate the name of the value of the  variable  $category
>> in line 09?
>>
>> Thanks
>>
>> --
>> Michelle Konzack        Miila ITSystems @ TDnet
>> GNU/Linux Developer     00372-54541400 <+372%205454%201400>
>>


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic