Hi,
I use PHP with Oracle and I have this code:
$req="select identifiant as \"0\", name as \"1\" from TAB_USER where
identifiant='abcd' and mot_passe='password'";
$conn = oci_connect('foo', 'bar', 'BASE1');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$stid = oci_parse($conn, $req);
oci_execute($stid);
$nrows = oci_fetch_all($stid, $tab2);
echo "<BR>$nrows rows fetched<br>\n";
echo "<BR>tab2[0][0]=".$tab2[0][0];
It works fine in PHP-4.3.10 and give this result
1 rows fetched
tab2[0][0]=abcd
But it doesn't work fine in PHP-5.2.13, because it give this :
1 rows fetched
tab2[0][0]=
If I add this code and run it
echo "<BR>print_r tab2 =<BR>";
print_r($tab2);
var_dump($tab2);
I get in PHP-4.3.10
print_r tab2 =
Array ( [0] => Array ( [0] => abcd ) [1] => Array ( [0] => toto ) )
array(2) { [0]=> array(1) { [0]=> string(4) "abcd" } [1]=> array(1) {
[0]=> string(4) "toto" } }
And in PHP-5.2.13
print_r tab2 =
Array ( [0] => Array ( [0] => abcd ) [1] => Array ( [0] => toto ) )*
array*
'0'=>
*array*
0=> string 'abcd' /(length=4)/
'1'=>
*array*
0=> string 'toto' /(length=4)/
Why there is 'O' in PHP-5.2.13 and not 0 like PHP-4.3.10 ?
Thanks for any help.