Я пытаюсь создать функцию, которая просто позволит мне передать в нее инструкцию SQL, и она будет генерировать массив на основе уникального идентификатора, который я передаю ему:
function oracleGetGata($query, $id="id") { global $conn; $sql = OCI_Parse($conn, $query); OCI_Execute($sql); OCI_Fetch_All($sql, $results, null, null, OCI_FETCHSTATEMENT_BY_ROW); return $results; }
Например, мне нужен этот запрос $array = oracleGetData('select * from table')
чтобы вернуть что-то вроде:
[1] => Array ( [Title] => Title 1 [Description] => Description 1 ) [2] => Array ( [Title] => Title 2 [Description] => Description 2 ) [3] => Array ( [Title] => Title 3 [Description] => Description 3 )
Вместо того, что он возвращает на данный момент:
[0] => Array ( [ID] => 3 [TITLE] => Title 3 [DESCRIPTION] => Description 3 ) [1] => Array ( [ID] => 1 [TITLE] => Title 1 [DESCRIPTION] => Description 1 ) [2] => Array ( [ID] => 2 [TITLE] => Title 2 [DESCRIPTION] => Description 2 )
Я бы очень признателен за любую помощь в этом, так как функция сэкономит мне много времени! Спасибо.
Непроверенный и без правильной обработки ошибок:
function oracleGetGata($query, $id="id") { global $conn; $results = array(); $sql = OCI_Parse($conn, $query); OCI_Execute($sql); while ( false!==($row=oci_fetch_assoc($sql)) ) { $results[ $row[$id] ] = $row; } return $results; }