ODBC Connection [message #172726] |
Sun, 27 February 2011 17:57 |
bruceaj
Messages: 30 Registered: September 2010
Karma: 0
|
Member |
|
|
I am connecting to an MS Access database. The connection and exec work
fine. My problem is getting the data.
The following two statement work;
$row = odbc_fetch_array($rs);
$value = $row['Newspaper'];
If I change to
$value = $row[1];
is_null($value) returns true.
What am I doing wrong or is an idiosyncrasy of using MS Access?
Bruce
|
|
|
Re: ODBC Connection [message #172727 is a reply to message #172726] |
Sun, 27 February 2011 18:07 |
Luuk
Messages: 329 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 27-02-11 18:57, bruceaj wrote:
> I am connecting to an MS Access database. The connection and exec work
> fine. My problem is getting the data.
>
> The following two statement work;
> $row = odbc_fetch_array($rs);
> $value = $row['Newspaper'];
>
> If I change to
> $value = $row[1];
>
> is_null($value) returns true.
>
> What am I doing wrong or is an idiosyncrasy of using MS Access?
>
> Bruce
>
This would probably tell more:
print_r($row);
--
Luuk
|
|
|
Re: ODBC Connection [message #172728 is a reply to message #172727] |
Sun, 27 February 2011 18:24 |
bruceaj
Messages: 30 Registered: September 2010
Karma: 0
|
Member |
|
|
On Feb 27, 1:07 pm, Luuk <L...@invalid.lan> wrote:
> On 27-02-11 18:57, bruceaj wrote:
>
>
>
>> I am connecting to an MS Access database. The connection and exec work
>> fine. My problem is getting the data.
>
>> The following two statement work;
>> $row = odbc_fetch_array($rs);
>> $value = $row['Newspaper'];
>
>> If I change to
>> $value = $row[1];
>
>> is_null($value) returns true.
>
>> What am I doing wrong or is an idiosyncrasy of using MS Access?
>
>> Bruce
>
> This would probably tell more:
> print_r($row);
>
> --
> Luuk
Okay.. Thanks for the response.
Array ( [Newspaper] => Review [Year] => 1887 [Month] => 5 [Day] => 20
[Page] => 4 [Column] => 3 [Father First] => Joe [Father Middle] =>
[Mother First] => [Mother Middle] => [Mother Maiden] => [First] =>
Daughter [Middle] => [Last] => Allen [Date Of Birth] => 05/18/1887
[Date Of Baptism] => [Church] => [Counter] => 1 [NewspaperKey] => 1
[Comments] => )
Hope this helps..
Thanks again.
Bruce
|
|
|
|
Re: ODBC Connection [message #172734 is a reply to message #172729] |
Sun, 27 February 2011 18:49 |
bruceaj
Messages: 30 Registered: September 2010
Karma: 0
|
Member |
|
|
On Feb 27, 1:36 pm, richard <mem...@newsguy.com> wrote:
> On Sun, 27 Feb 2011 09:57:11 -0800 (PST), bruceaj wrote:
>> I am connecting to an MS Access database. The connection and exec work
>> fine. My problem is getting the data.
>
>> The following two statement work;
>> $row = odbc_fetch_array($rs);
>> $value = $row['Newspaper'];
>
>> If I change to
>> $value = $row[1];
>
>> is_null($value) returns true.
>
>> What am I doing wrong or is an idiosyncrasy of using MS Access?
>
>> Bruce
>
> I'd say it's due to the fact you did not define $row[1].
> Instead, you used 'newspaper' as the row identifier.
> It can't find [1] so it reports an error.
Okay??? I guess I don't know what I thought I knew!!
Doesn't "odbc_fetch_array" returns an associative array. If so, can't
I address the elements either by name "newspaper" or by index "1".
One minor point, the index I should be using is "0" since the
associative array is 0 based.
Appreciate some suggestions on what I need to address the elements of
my array, $row, via an index value.
Thanks again...
Bruce
|
|
|
Re: ODBC Connection [message #172735 is a reply to message #172728] |
Sun, 27 February 2011 18:54 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 2/27/2011 1:24 PM, bruceaj wrote:
> On Feb 27, 1:07 pm, Luuk<L...@invalid.lan> wrote:
>> On 27-02-11 18:57, bruceaj wrote:
>>
>>
>>
>>> I am connecting to an MS Access database. The connection and exec work
>>> fine. My problem is getting the data.
>>
>>> The following two statement work;
>>> $row = odbc_fetch_array($rs);
>>> $value = $row['Newspaper'];
>>
>>> If I change to
>>> $value = $row[1];
>>
>>> is_null($value) returns true.
>>
>>> What am I doing wrong or is an idiosyncrasy of using MS Access?
>>
>>> Bruce
>>
>> This would probably tell more:
>> print_r($row);
>>
>> --
>> Luuk
>
> Okay.. Thanks for the response.
>
> Array ( [Newspaper] => Review [Year] => 1887 [Month] => 5 [Day] => 20
> [Page] => 4 [Column] => 3 [Father First] => Joe [Father Middle] =>
> [Mother First] => [Mother Middle] => [Mother Maiden] => [First] =>
> Daughter [Middle] => [Last] => Allen [Date Of Birth] => 05/18/1887
> [Date Of Baptism] => [Church] => [Counter] => 1 [NewspaperKey] => 1
> [Comments] => )
>
> Hope this helps..
>
> Thanks again.
>
> Bruce
Which is exactly what you should get if you fetch as an associative
array. If you want to access the values by index, you need to fetch
with an indexed array (odbc_fetch_row())/
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|
Re: ODBC Connection [message #172736 is a reply to message #172728] |
Sun, 27 February 2011 19:04 |
Luuk
Messages: 329 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 27-02-11 19:24, bruceaj wrote:
> On Feb 27, 1:07 pm, Luuk <L...@invalid.lan> wrote:
>> On 27-02-11 18:57, bruceaj wrote:
>>
>>
>>
>>> I am connecting to an MS Access database. The connection and exec work
>>> fine. My problem is getting the data.
>>
>>> The following two statement work;
>>> $row = odbc_fetch_array($rs);
>>> $value = $row['Newspaper'];
>>
>>> If I change to
>>> $value = $row[1];
>>
>>> is_null($value) returns true.
>>
>>> What am I doing wrong or is an idiosyncrasy of using MS Access?
>>
>>> Bruce
>>
>> This would probably tell more:
>> print_r($row);
>>
>> --
>> Luuk
>
> Okay.. Thanks for the response.
>
> Array ( [Newspaper] => Review [Year] => 1887 [Month] => 5 [Day] => 20
> [Page] => 4 [Column] => 3 [Father First] => Joe [Father Middle] =>
> [Mother First] => [Mother Middle] => [Mother Maiden] => [First] =>
> Daughter [Middle] => [Last] => Allen [Date Of Birth] => 05/18/1887
> [Date Of Baptism] => [Church] => [Counter] => 1 [NewspaperKey] => 1
> [Comments] => )
>
> Hope this helps..
>
> Thanks again.
>
> Bruce
http://www.php.net/manual/en/language.types.array.php
--
Luuk
|
|
|
Re: ODBC Connection [message #172739 is a reply to message #172734] |
Sun, 27 February 2011 19:19 |
|
richard
Messages: 213 Registered: June 2013
Karma: 0
|
Senior Member |
|
|
On Sun, 27 Feb 2011 10:49:26 -0800 (PST), bruceaj wrote:
> On Feb 27, 1:36 pm, richard <mem...@newsguy.com> wrote:
>> On Sun, 27 Feb 2011 09:57:11 -0800 (PST), bruceaj wrote:
>>> I am connecting to an MS Access database. The connection and exec work
>>> fine. My problem is getting the data.
>>
>>> The following two statement work;
>>> $row = odbc_fetch_array($rs);
>>> $value = $row['Newspaper'];
>>
>>> If I change to
>>> $value = $row[1];
>>
>>> is_null($value) returns true.
>>
>>> What am I doing wrong or is an idiosyncrasy of using MS Access?
>>
>>> Bruce
>>
>> I'd say it's due to the fact you did not define $row[1].
>> Instead, you used 'newspaper' as the row identifier.
>> It can't find [1] so it reports an error.
>
> Okay??? I guess I don't know what I thought I knew!!
>
> Doesn't "odbc_fetch_array" returns an associative array. If so, can't
> I address the elements either by name "newspaper" or by index "1".
>
> One minor point, the index I should be using is "0" since the
> associative array is 0 based.
>
> Appreciate some suggestions on what I need to address the elements of
> my array, $row, via an index value.
>
> Thanks again...
>
> Bruce
as I understand it, the array contents have to be defined.
If you define an array with names rather than number, then you can not
assume 0 is going to be the first array item. Or that 0 will be associated
with the first item by default.
$item[0]="aaa"
$item[1]="bbb"
$item['sample']="ccc"
$item['data']="data"
$item[2]="ddd"
If I wanted to recall the third item in the array, I would have to use
['sample'] not [2].
If [2] did not exist, I can not assume [2] would equate to ['sample'].
IOW, what you defined in the array, is what can be recalled.
|
|
|
Re: ODBC Connection [message #172743 is a reply to message #172739] |
Sun, 27 February 2011 19:51 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 2/27/2011 2:19 PM, richard wrote:
> On Sun, 27 Feb 2011 10:49:26 -0800 (PST), bruceaj wrote:
>
>> On Feb 27, 1:36 pm, richard<mem...@newsguy.com> wrote:
>>> On Sun, 27 Feb 2011 09:57:11 -0800 (PST), bruceaj wrote:
>>>> I am connecting to an MS Access database. The connection and exec work
>>>> fine. My problem is getting the data.
>>>
>>>> The following two statement work;
>>>> $row = odbc_fetch_array($rs);
>>>> $value = $row['Newspaper'];
>>>
>>>> If I change to
>>>> $value = $row[1];
>>>
>>>> is_null($value) returns true.
>>>
>>>> What am I doing wrong or is an idiosyncrasy of using MS Access?
>>>
>>>> Bruce
>>>
>>> I'd say it's due to the fact you did not define $row[1].
>>> Instead, you used 'newspaper' as the row identifier.
>>> It can't find [1] so it reports an error.
>>
>> Okay??? I guess I don't know what I thought I knew!!
>>
>> Doesn't "odbc_fetch_array" returns an associative array. If so, can't
>> I address the elements either by name "newspaper" or by index "1".
>>
>> One minor point, the index I should be using is "0" since the
>> associative array is 0 based.
>>
>> Appreciate some suggestions on what I need to address the elements of
>> my array, $row, via an index value.
>>
>> Thanks again...
>>
>> Bruce
>
> as I understand it, the array contents have to be defined.
> If you define an array with names rather than number, then you can not
> assume 0 is going to be the first array item. Or that 0 will be associated
> with the first item by default.
>
> $item[0]="aaa"
> $item[1]="bbb"
> $item['sample']="ccc"
> $item['data']="data"
> $item[2]="ddd"
>
> If I wanted to recall the third item in the array, I would have to use
> ['sample'] not [2].
> If [2] did not exist, I can not assume [2] would equate to ['sample'].
>
> IOW, what you defined in the array, is what can be recalled.
Richard, odbc_fetch_array() IS defining the array. Just not the way he
expects.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|
Re: ODBC Connection [message #172744 is a reply to message #172743] |
Sun, 27 February 2011 20:06 |
|
richard
Messages: 213 Registered: June 2013
Karma: 0
|
Senior Member |
|
|
On Sun, 27 Feb 2011 14:51:07 -0500, Jerry Stuckle wrote:
> On 2/27/2011 2:19 PM, richard wrote:
>> On Sun, 27 Feb 2011 10:49:26 -0800 (PST), bruceaj wrote:
>>
>>> On Feb 27, 1:36 pm, richard<mem...@newsguy.com> wrote:
>>>> On Sun, 27 Feb 2011 09:57:11 -0800 (PST), bruceaj wrote:
>>>> > I am connecting to an MS Access database. The connection and exec work
>>>> > fine. My problem is getting the data.
>>>>
>>>> > The following two statement work;
>>>> > $row = odbc_fetch_array($rs);
>>>> > $value = $row['Newspaper'];
>>>>
>>>> > If I change to
>>>> > $value = $row[1];
>>>>
>>>> > is_null($value) returns true.
>>>>
>>>> > What am I doing wrong or is an idiosyncrasy of using MS Access?
>>>>
>>>> > Bruce
>>>>
>>>> I'd say it's due to the fact you did not define $row[1].
>>>> Instead, you used 'newspaper' as the row identifier.
>>>> It can't find [1] so it reports an error.
>>>
>>> Okay??? I guess I don't know what I thought I knew!!
>>>
>>> Doesn't "odbc_fetch_array" returns an associative array. If so, can't
>>> I address the elements either by name "newspaper" or by index "1".
>>>
>>> One minor point, the index I should be using is "0" since the
>>> associative array is 0 based.
>>>
>>> Appreciate some suggestions on what I need to address the elements of
>>> my array, $row, via an index value.
>>>
>>> Thanks again...
>>>
>>> Bruce
>>
>> as I understand it, the array contents have to be defined.
>> If you define an array with names rather than number, then you can not
>> assume 0 is going to be the first array item. Or that 0 will be associated
>> with the first item by default.
>>
>> $item[0]="aaa"
>> $item[1]="bbb"
>> $item['sample']="ccc"
>> $item['data']="data"
>> $item[2]="ddd"
>>
>> If I wanted to recall the third item in the array, I would have to use
>> ['sample'] not [2].
>> If [2] did not exist, I can not assume [2] would equate to ['sample'].
>>
>> IOW, what you defined in the array, is what can be recalled.
>
> Richard, odbc_fetch_array() IS defining the array. Just not the way he
> expects.
okay thanks.
|
|
|
Re: ODBC Connection [message #172745 is a reply to message #172735] |
Sun, 27 February 2011 20:46 |
bruceaj
Messages: 30 Registered: September 2010
Karma: 0
|
Member |
|
|
On Feb 27, 1:54 pm, Jerry Stuckle <jstuck...@attglobal.net> wrote:
> On 2/27/2011 1:24 PM, bruceaj wrote:
>
>
>
>> On Feb 27, 1:07 pm, Luuk<L...@invalid.lan> wrote:
>>> On 27-02-11 18:57, bruceaj wrote:
>
>>>> I am connecting to an MS Access database. The connection and exec work
>>>> fine. My problem is getting the data.
>
>>>> The following two statement work;
>>>> $row = odbc_fetch_array($rs);
>>>> $value = $row['Newspaper'];
>
>>>> If I change to
>>>> $value = $row[1];
>
>>>> is_null($value) returns true.
>
>>>> What am I doing wrong or is an idiosyncrasy of using MS Access?
>
>>>> Bruce
>
>>> This would probably tell more:
>>> print_r($row);
>
>>> --
>>> Luuk
>
>> Okay.. Thanks for the response.
>
>> Array ( [Newspaper] => Review [Year] => 1887 [Month] => 5 [Day] => 20
>> [Page] => 4 [Column] => 3 [Father First] => Joe [Father Middle] =>
>> [Mother First] => [Mother Middle] => [Mother Maiden] => [First] =>
>> Daughter [Middle] => [Last] => Allen [Date Of Birth] => 05/18/1887
>> [Date Of Baptism] => [Church] => [Counter] => 1 [NewspaperKey] => 1
>> [Comments] => )
>
>> Hope this helps..
>
>> Thanks again.
>
>> Bruce
>
> Which is exactly what you should get if you fetch as an associative
> array. If you want to access the values by index, you need to fetch
> with an indexed array (odbc_fetch_row())/
>
> --
> ==================
> Remove the "x" from my email address
> Jerry Stuckle
> JDS Computer Training Corp.
> jstuck...@attglobal.net
> ==================
Okay.. obdc_fetch_row() seems to have worked. I was under the opinion
that with an Associative Array the item could be addressed via either
a name or an index. I guess I'm wrong. Apparently an Associative Array
can only be indexed via a string value. Strange...
Thanks...
Bruce
|
|
|
Re: ODBC Connection [message #172746 is a reply to message #172744] |
Sun, 27 February 2011 20:52 |
sheldonlg
Messages: 166 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 2/27/2011 3:06 PM, richard wrote:
> On Sun, 27 Feb 2011 14:51:07 -0500, Jerry Stuckle wrote:
>
>> On 2/27/2011 2:19 PM, richard wrote:
>>> On Sun, 27 Feb 2011 10:49:26 -0800 (PST), bruceaj wrote:
>>>
>>>> On Feb 27, 1:36 pm, richard<mem...@newsguy.com> wrote:
>>>> > On Sun, 27 Feb 2011 09:57:11 -0800 (PST), bruceaj wrote:
>>>> >> I am connecting to an MS Access database. The connection and exec work
>>>> >> fine. My problem is getting the data.
>>>> >
>>>> >> The following two statement work;
>>>> >> $row = odbc_fetch_array($rs);
>>>> >> $value = $row['Newspaper'];
>>>> >
>>>> >> If I change to
>>>> >> $value = $row[1];
>>>> >
>>>> >> is_null($value) returns true.
>>>> >
>>>> >> What am I doing wrong or is an idiosyncrasy of using MS Access?
>>>> >
>>>> >> Bruce
>>>> >
>>>> > I'd say it's due to the fact you did not define $row[1].
>>>> > Instead, you used 'newspaper' as the row identifier.
>>>> > It can't find [1] so it reports an error.
>>>>
>>>> Okay??? I guess I don't know what I thought I knew!!
>>>>
>>>> Doesn't "odbc_fetch_array" returns an associative array. If so, can't
>>>> I address the elements either by name "newspaper" or by index "1".
>>>>
>>>> One minor point, the index I should be using is "0" since the
>>>> associative array is 0 based.
>>>>
>>>> Appreciate some suggestions on what I need to address the elements of
>>>> my array, $row, via an index value.
>>>>
>>>> Thanks again...
>>>>
>>>> Bruce
>>>
>>> as I understand it, the array contents have to be defined.
>>> If you define an array with names rather than number, then you can not
>>> assume 0 is going to be the first array item. Or that 0 will be associated
>>> with the first item by default.
>>>
>>> $item[0]="aaa"
>>> $item[1]="bbb"
>>> $item['sample']="ccc"
>>> $item['data']="data"
>>> $item[2]="ddd"
>>>
>>> If I wanted to recall the third item in the array, I would have to use
>>> ['sample'] not [2].
>>> If [2] did not exist, I can not assume [2] would equate to ['sample'].
>>>
>>> IOW, what you defined in the array, is what can be recalled.
>>
>> Richard, odbc_fetch_array() IS defining the array. Just not the way he
>> expects.
>
> okay thanks.
Go to:
www.php.net
and look at
odbc_fetch_array, odbc_fetch_row, odbc_result
--
Shelly
|
|
|
Re: ODBC Connection [message #172747 is a reply to message #172745] |
Sun, 27 February 2011 20:55 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 2/27/2011 3:46 PM, bruceaj wrote:
> On Feb 27, 1:54 pm, Jerry Stuckle<jstuck...@attglobal.net> wrote:
>> On 2/27/2011 1:24 PM, bruceaj wrote:
>>
>>
>>
>>> On Feb 27, 1:07 pm, Luuk<L...@invalid.lan> wrote:
>>>> On 27-02-11 18:57, bruceaj wrote:
>>
>>>> > I am connecting to an MS Access database. The connection and exec work
>>>> > fine. My problem is getting the data.
>>
>>>> > The following two statement work;
>>>> > $row = odbc_fetch_array($rs);
>>>> > $value = $row['Newspaper'];
>>
>>>> > If I change to
>>>> > $value = $row[1];
>>
>>>> > is_null($value) returns true.
>>
>>>> > What am I doing wrong or is an idiosyncrasy of using MS Access?
>>
>>>> > Bruce
>>
>>>> This would probably tell more:
>>>> print_r($row);
>>
>>>> --
>>>> Luuk
>>
>>> Okay.. Thanks for the response.
>>
>>> Array ( [Newspaper] => Review [Year] => 1887 [Month] => 5 [Day] => 20
>>> [Page] => 4 [Column] => 3 [Father First] => Joe [Father Middle] =>
>>> [Mother First] => [Mother Middle] => [Mother Maiden] => [First] =>
>>> Daughter [Middle] => [Last] => Allen [Date Of Birth] => 05/18/1887
>>> [Date Of Baptism] => [Church] => [Counter] => 1 [NewspaperKey] => 1
>>> [Comments] => )
>>
>>> Hope this helps..
>>
>>> Thanks again.
>>
>>> Bruce
>>
>> Which is exactly what you should get if you fetch as an associative
>> array. If you want to access the values by index, you need to fetch
>> with an indexed array (odbc_fetch_row())/
>>
>
> Okay.. obdc_fetch_row() seems to have worked. I was under the opinion
> that with an Associative Array the item could be addressed via either
> a name or an index. I guess I'm wrong. Apparently an Associative Array
> can only be indexed via a string value. Strange...
>
> Thanks...
>
> Bruce
No, there are two different kinds of arrays.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|
|
Re: ODBC Connection [message #172749 is a reply to message #172748] |
Sun, 27 February 2011 21:10 |
bruceaj
Messages: 30 Registered: September 2010
Karma: 0
|
Member |
|
|
On Feb 27, 4:02 pm, spamb...@milmac.com (Doug Miller) wrote:
> In article <d4514447-c983-4a85-a8af-7df9eeba4...@o14g2000prb.googlegroups..com>, bruceaj <bruc...@bellsouth.net> wrote:
>
>> Okay.. obdc_fetch_row() seems to have worked. I was under the opinion
>> that with an Associative Array the item could be addressed via either
>> a name or an index. I guess I'm wrong. Apparently an Associative Array
>> can only be indexed via a string value. Strange...
>
> Nothing "strange" about it -- that's the entire point of an *associative*
> array...
Okay... Thanks to all for the help..
Bruce
|
|
|
Re: ODBC Connection [message #172759 is a reply to message #172746] |
Mon, 28 February 2011 07:47 |
P E Schoen
Messages: 86 Registered: January 2011
Karma: 0
|
Member |
|
|
"sheldonlg" wrote in message
news:ikedis$8ou$1(at)news(dot)eternal-september(dot)org...
> Go to:
> www.php.net
> and look at
> odbc_fetch_array, odbc_fetch_row, odbc_result
With SQLite, you can use a qualifier to fetch the array as either numeric,
or associative, or both:
http://php.net/manual/en/function.mysql-fetch-array.php
array mysql_fetch_array ( resource $result [, int $result_type =
MYSQL_BOTH ] )
This may be helpful as well:
http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html
I had problems using associative arrays when, for instance, I wanted to
fetch a series of rows which might be
$db->exec("INSERT INTO tEmail (id,name,email) VALUES (
'$ID', '$Name', '$Email' )");
For some reason I was unable to use the associative indexes in a "for" loop
such as
for( $i = name; $i <= email; $i++)
but this was OK:
$line = 0;
while ($row = $qres->fetcharray(SQLITE3_BOTH)) {
for ($i = 0; $i < 2; $i++) {
$arr[$line][$i] = $row[$i];
}
$name = $arr[$line][1]; // should also be OK to use
$arr[$line][name];
$email = $arr[$line][2];
$line++;
}
I didn't spend much time with it. Since it worked with numeric indexes, I
was OK with that, but associative would have been clearer.
Paul
|
|
|
Re: ODBC Connection [message #172765 is a reply to message #172759] |
Mon, 28 February 2011 11:40 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 2/28/2011 2:47 AM, P E Schoen wrote:
> "sheldonlg" wrote in message
> news:ikedis$8ou$1(at)news(dot)eternal-september(dot)org...
>
>> Go to:
>> www.php.net
>> and look at
>> odbc_fetch_array, odbc_fetch_row, odbc_result
>
> With SQLite, you can use a qualifier to fetch the array as either
> numeric, or associative, or both:
> http://php.net/manual/en/function.mysql-fetch-array.php
>
> array mysql_fetch_array ( resource $result [, int $result_type =
> MYSQL_BOTH ] )
>
> This may be helpful as well:
> http://www.phpro.org/tutorials/Introduction-to-PHP-PDO.html
>
> I had problems using associative arrays when, for instance, I wanted to
> fetch a series of rows which might be
>
> $db->exec("INSERT INTO tEmail (id,name,email) VALUES (
> '$ID', '$Name', '$Email' )");
>
> For some reason I was unable to use the associative indexes in a "for"
> loop such as
>
> for( $i = name; $i <= email; $i++)
>
> but this was OK:
>
> $line = 0;
> while ($row = $qres->fetcharray(SQLITE3_BOTH)) {
> for ($i = 0; $i < 2; $i++) {
> $arr[$line][$i] = $row[$i];
> }
> $name = $arr[$line][1]; // should also be OK to use $arr[$line][name];
> $email = $arr[$line][2];
> $line++;
> }
>
> I didn't spend much time with it. Since it worked with numeric indexes,
> I was OK with that, but associative would have been clearer.
>
> Paul
What is the value of 'name' + 1?
Associative array indexes are not numeric, so you can't increment them.
And although SQLLite can return an array with both indexed and
associative arrays, odbc_fetch_array() doesn't.
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
|
|
|
Re: ODBC Connection [message #172775 is a reply to message #172765] |
Mon, 28 February 2011 18:48 |
P E Schoen
Messages: 86 Registered: January 2011
Karma: 0
|
Member |
|
|
"Jerry Stuckle" wrote in message
news:ikg1jr$u6q$1(at)news(dot)eternal-september(dot)org...
> What is the value of 'name' + 1?
> Associative array indexes are not numeric, so you can't
> increment them.
I was attempting to do what I have done in Borland Delphi, where array
indexes are always numeric, but can be referenced by enumerations that are
simply aliases for numeric values.
Here are ways to emulate that, but it seems too complicated to make it
worthwhile:
http://stackoverflow.com/questions/254514/php-and-enums
http://it.toolbox.com/blogs/macsploitation/enums-in-php-a-native-implementa tion-25228
http://www.satya-weblog.com/2008/03/search-in-keyindex-of-anphp-array.html
> And although SQLLite can return an array with both indexed
> and associative arrays, odbc_fetch_array() doesn't.
I don't know how SQLite does this, but essentially it must create the
equivalent of another associative array which has a 1:1 correspondence of
the text key indexes and a numeric value of the row of the array. I suppose
it would work to assign numeric variables with numeric row indexes, such as:
$nID=0; $nName=1; $nEmail=2;
Then it would probably be legal to use:
For( $i=$nID; $i<=$nEmail; $i++ )
Just some ideas. Thanks.
Paul
|
|
|