[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