function _query($sql, $inputarr = false) { if (is_array($inputarr)) { $i = 0; if (is_array($sql)) { foreach ($inputarr as $v) { $arr['bind' . $i++] = $v; } } else { // Need to identify if the ? is inside a quoted string, and if // so not use it as a bind variable preg_match_all('/".*\\??"|\'.*\\?.*?\'/', $sql, $matches); foreach ($matches[0] as $qmMatch) { $qmReplace = str_replace('?', '-QUESTIONMARK-', $qmMatch); $sql = str_replace($qmMatch, $qmReplace, $sql); } $sqlarr = explode('?', $sql); $sql = $sqlarr[0]; foreach ($inputarr as $k => $v) { $sql .= ":{$k}" . $sqlarr[++$i]; } $sql = str_replace('-QUESTIONMARK-', '?', $sql); } } return ADODB_oci8::_query($sql, $inputarr); }
function _query($sql, $inputarr = false) { if (is_array($inputarr)) { $i = 0; if (is_array($sql)) { foreach ($inputarr as $v) { $arr['bind' . $i++] = $v; } } else { $sqlarr = explode('?', $sql); $sql = $sqlarr[0]; foreach ($inputarr as $k => $v) { $sql .= ":{$k}" . $sqlarr[++$i]; } } } return ADODB_oci8::_query($sql, $inputarr); }
function _query($sql, $inputarr) { if (is_array($inputarr)) { $i = 0; $sqlarr = explode('?', $sql); $sql = $sqlarr[0]; foreach ($inputarr as $v) { $name = 'bind' . $i++; $arr[$name] = $v; $sql .= ":{$name}" . $sqlarr[$i]; } //print $sql; //print_r($arr); } else { $arr = false; } return ADODB_oci8::_query($sql, $arr); }
function _query($sql, $inputarr) { if (is_array($inputarr)) { $i = 0; if (is_array($sql)) { foreach ($inputarr as $v) { $arr['bind' . $i++] = $v; } } else { /* PSU mod. DO NOT use ? syntax for bind variables...this breaks our world and binding on question marks assumes ALL question marks are bind variables... $sqlarr = explode('?',$sql); $sql = $sqlarr[0]; foreach($inputarr as $k => $v) { $sql .= ":$k" . $sqlarr[++$i]; } */ } } return ADODB_oci8::_query($sql, $inputarr); }