|
Posted by Jerry Stuckle on 04/20/07 12:48
Karl Groves wrote:
> I'm missing something very obvious, but it is getting late and I've
> stared at it too long.
>
> TIA for responses
>
>
> I am writing a basic function (listed at the bottom of this post) that
> returns data from a query into an array.
>
> The intent is that the following code:
> $foo = dbSelectData("SELECT foo, bar FROM table", $link);
> would return an array with the keys: 'foo' and 'bar'.
>
> But what I get is instead a multidimensional array.
> Doing a var_dump on $foo turns out to be
> array(2) {
> ["foo"]=>
> string(5) "Stuff"
> ["bar"]=>
> string(10) "More Stuff"
> }
>
>
> I'm wondering where I went wrong in writing the function below.
>
>
> function dbSelectData($query, $connection, $rtype=MYSQL_ASSOC){
>
> $result = mysql_query($query, $connection);
> if(!$result){
> dbThrowError("Error in function dbSelectData. Query Was <em>
> $query</em>.");
> return FALSE;
> }
> else{
> $numrows = mysql_num_rows($result);
>
> if($numrows == 0){
> return FALSE;
> }
> else{
> while($rows = mysql_fetch_array($result, $rtype)){
> $output[] = $rows;
> }
> mysql_free_result($result);
> return $output;
> }
> }
> }
>
>
> Thanks in advance.
>
Hi, Karl,
I'm confused. This should work.
while($rows = mysql_fetch_array($result, $rtype)){
$rows will be a single dimensional array with indexes ['foo'] and ['bar'].
$output[] = $rows;
}
And $output will be an array of the above array with indexes zero to
(number_of_rows_returned - 1).
Are you sure this is the exact code? If so, can you show us where you
call it and dump the results? Maybe the problem is back there.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
Navigation:
[Reply to this message]
|