Запуск ODBC_FETCH_ARRAY в WHILE l oop не отражает результаты - PullRequest
0 голосов
/ 22 апреля 2020

Итак, у меня есть этот код, который работал на каждой веб-странице, которую я написал, но теперь вдруг он не работает.

<?php  
global $conn1;
$conn1=@odbc_connect("lib", "user", "password");
date_default_timezone_set('America/New_York');
$TheDateAndTime=date("m/d/y       H:i:s");
$prodWindowDate = '1'.date('ymd', strtotime('- 14 days'));
global $prodWindowDate;
$tmID=$_GET['tmID'];
global $tmID;
?>

Приведенная выше часть у меня есть на каждой странице и работает без нареканий.

<p align="center">This page is a work in progress.<br>Please be patient as all the kinks are worked out.<br>Thank you.</p>
<div id="statsForTMs">
    <div class="container text-center">
        <table class="table table-sm table-bordered text-center table-stripped">
            <thead>
                <th colspan="8">stats for <?php echo $tmID; ?></th>
            </thead>
            <tbody>
                <th>Date</th>
                <th>PA</th>
                <th>Hours in PA</th>
                <th>TC</th>
                <th>TP</th>
                <th>TL</th>
                <th>LPH</th>
                <th>PPH</th>
<?php
$ptlStats="SELECT 
        A.DATE_STAMP,
        A.PA,
        cast(ROUND(A.ACTIVE_TIME_ACCUM/3600,2) as decimal(10,2)) AS HOURS,
        A.NT,
        A.TP,
        A.TL,
        cast(ROUND(A.TL/(ROUND(A.ACTIVE_TIME_ACCUM/3600,2))) as numeric(5,0)) as LPH,
        FLOOR(A.PPH)
    FROM 
        LIB.TABLE A
    WHERE A.DATE_STAMP >= '$prodWindowDate'
        AND A.PI = '$tmID'
    ORDER BY A.DATE_STAMP DESC ";

$resultPTLstats=@odbc_exec($conn1, $ptlStats);
while($row=@odbc_fetch_array($resultPTLstats)){
echo '<tr><td>'.$row['DATE_STAMP'].'</td>
       <td>'.$row['PA'].'</td>
       <td>'.$row['HOURS'].'</td>
       <td>'.$row['NT'].'</td>
       <td>'.$row['TP'].'</td>
       <td>'.$row['TL'].'</td>
       <td>'.$row['LPH'].'</td>
       <td>'.$row['PPH'].'</td>
      </tr>';
}
@odbc_close($conn1);
?>
            </tbody>
        </table>
    </div>
</div>

Если я выведу $ tmID или $ prodWinowDate за пределы SQL и WHILE l oop, я получу результаты. Я протестировал SQL в Win SQL, и он работает правильно. Я не могу отобразить эти результаты, и это то, что мне нужно.

Две строки являются первичными ключами, не то чтобы это имело значение.

Способ Я настроил WHILE, который l oop работал на каждой другой странице, которую я создал. Я смотрел на это в течение трех дней, и я полностью потерян. Может кто-нибудь сказать мне, что я делаю не так?

edit: Снимая маски, я остаюсь с Token � was not valid. Valid tokens: ( NEW FINAL TABLE UNNEST LATERAL XMLTABLE JSON_TABLE <IDENTIFIER>.

1 Ответ

0 голосов
/ 22 апреля 2020

Последняя ошибка, которую я получил, была Token � was not valid. Valid tokens: ( + * - ? : DAY INF NAN RID ROW RRN CASE CAST CHAR DATE DAYS HASH.

Удаление utf8_decode перед $ ptlStats в $ resultPTLstats устранило ошибку. $resultPTLstats=@odbc_exec($conn1, utf8_decode($ptlStats));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...