From:
Operating system: Scientific Linux 6.1
PHP version: Irrelevant
Package: OCI8 related
Bug Type: Bug
Bug description:Incorrect Invalid variable used for bind error
Description:
------------
I am seeing the following errors generated for no apparent reason when a
function
is used as a string source:
PHP Warning: oci_bind_by_name(): Invalid variable used for bind
PHP Warning: oci_execute(): ORA-01008: not all variables bound
If I replace the $sim_token parameter in my FS_ORA_NEW_SIMTOKEN call with a
static string, e.g. "2", then it all works fine.
Test script:
---------------
-- The OCI8 Call --
function FS_ORA_NEW_SIMTOKEN($p_sess,$p_tkn) {
$c = FS_ORA_CONNECT();
$s = oci_parse($c, "begin
fs_pkg_XXXXX.new_auth(:p_sess,:p_sim);end;");
oci_bind_by_name($s,":p_sess",$p_sess,-1,SQLT_CHR);
oci_bind_by_name($s,":p_sim",$p_tkn,-1,SQLT_CHR);
$exec_status=oci_execute($s);
oci_free_statement($s);
return $exec_status;
}
-- The Token Generator--
function FS_SIMAPI_GETTOKEN() {
$valid_time=time()+FS_SIM_TOKLEN;
$sesskey=htmlspecialchars(sha1(XXXXXXXXXXXXX));
$qry_array=array(
'mode' => 'AUTH',
'user' => FS_SIM_UNA,
'clientip'=>FS_SIM_SRCIP,
'expiry' => $valid_time,
'key' => $sesskey
);
$tokres=FS_SIMAPI_SIMPLEPOST("XXXXXXX AUTH",$qry_array);
if ($tokres==false) {
return false;
}
libxml_use_internal_errors(true);
try {
$xmlp=new SimpleXMLElement($tokres);
} catch (Exception $e) {
foreach(libxml_get_errors() as $error_line) {
$error_msg = "SimpleXML: ".$error_line->message;
FS_APPTOOL_LOGERR($error_msg);
}
return false;
}
return $xmlp->results->token;
}
-- The Application Call--
// 4 XXXXXX Token
$sim_token=FS_SIMAPI_GETTOKEN();
if($sim_token!=false) {
$sim_to_db=FS_ORA_NEW_SIMTOKEN($_COOKIE['fs_cookie'],$sim_token);
if($sim_to_db==false) {
header("Location: " . FS_APP_HOME_URI . "?autherr=" .
urlencode(FS_ERR_SIMFAIL));
exit;
}
} else {
header("Location: " . FS_APP_HOME_URI . "?autherr=" .
urlencode($sim_token));
exit;
}
--
Edit bug report at https://bugs.php.net/bug.php?id=60624&edit=1
--
Try a snapshot (PHP 5.4):
https://bugs.php.net/fix.php?id=60624&r=trysnapshot54
Try a snapshot (PHP 5.3):
https://bugs.php.net/fix.php?id=60624&r=trysnapshot53
Try a snapshot (trunk):
https://bugs.php.net/fix.php?id=60624&r=trysnapshottrunk
Fixed in SVN:
https://bugs.php.net/fix.php?id=60624&r=fixed
Fixed in SVN and need be documented:
https://bugs.php.net/fix.php?id=60624&r=needdocs
Fixed in release:
https://bugs.php.net/fix.php?id=60624&r=alreadyfixed
Need backtrace:
https://bugs.php.net/fix.php?id=60624&r=needtrace
Need Reproduce Script:
https://bugs.php.net/fix.php?id=60624&r=needscript
Try newer version:
https://bugs.php.net/fix.php?id=60624&r=oldversion
Not developer issue:
https://bugs.php.net/fix.php?id=60624&r=support
Expected behavior:
https://bugs.php.net/fix.php?id=60624&r=notwrong
Not enough info:
https://bugs.php.net/fix.php?id=60624&r=notenoughinfo
Submitted twice:
https://bugs.php.net/fix.php?id=60624&r=submittedtwice
register_globals:
https://bugs.php.net/fix.php?id=60624&r=globals
PHP 4 support discontinued:
https://bugs.php.net/fix.php?id=60624&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=60624&r=dst
IIS Stability:
https://bugs.php.net/fix.php?id=60624&r=isapi
Install GNU Sed:
https://bugs.php.net/fix.php?id=60624&r=gnused
Floating point limitations:
https://bugs.php.net/fix.php?id=60624&r=float
No Zend Extensions:
https://bugs.php.net/fix.php?id=60624&r=nozend
MySQL Configuration Error:
https://bugs.php.net/fix.php?id=60624&r=mysqlcfg