ORA-00900: неверный оператор SQL в php, но работает в sqlplus - PullRequest
0 голосов
/ 28 января 2020

У меня есть запрос SQL в файле. sql, который я пытаюсь выполнить с php, но он дает мне ошибку, упомянутую в заголовке. Однако, когда я вставляю его в sqlplus или запускаю файл оттуда, все в порядке. Вот запрос:

SELECT name,
        followers,
        friends,
        Nvl(no_of_tweets, 0) statuses,
        Nvl(mentioned, 0) mentioned,
        rts,
        Nvl(favs, 0) favs,
        ( ( 10 * followers + 5 * friends + 12 * Nvl(no_of_tweets, 0) + 15 *
                Nvl(mentioned, 0) + 14 * rts + 15 * Nvl(favs, 0) ) / 10 ) h_index
    FROM   users U
        left join (SELECT T.user_id_str,
                            Count(*)       AS no_of_tweets,
                            SUM(retweets)  rts,
                            SUM(favorites) favs,
                            mentioned
                    FROM   tweets T
                            left join (SELECT user_id_str,
                                            Count(*) AS mentioned
                                        FROM   mentions
                                        GROUP  BY user_id_str) M
                                    ON T.user_id_str = M.user_id_str
                    GROUP  BY T.user_id_str,
                                mentioned) C
                ON U.user_id_str = C.user_id_str
                ORDER BY h_index DESC;

Какие методы отладки могут помочь мне найти проблему или что не так с этой командой?

Это мой PHP код:

$query = ':sql';
$st_sql = oci_parse($con, $query); 
oci_bind_by_name($st_sql, ':sql', file_get_contents($path)); 
$r = oci_execute($st_sql); 
if (!$r) { 
    $e = oci_error($st_sql);
    echo $e['message']; 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...