Написал скрипт но выдает ошибку, но не понимаю в чем проблема? Помогите пожалуйста, буду очен благодарен PHP: <?php //установить имена ГМ в системе, включая их тег //можно сделать этот массив автоматизированный для запроса базы данных, но мне нравиться этот простой $query_staff = "SELECT R.UserUID,P.CharName FROM PS_UserData.dbo.Users_Master AS R INNER JOIN PS_GameData.dbo.Chars AS P ON R.UserUID = P.UserUID WHERE P.LoginStatus > 0 and (R.Status >= 16 or R.GS != 0 or R.GM != 0 or R.AdminLevel != 0 or R.Admin != 0)"; $result_staff = odbc_exec($dbConn,$query_staff); while($online_staff = odbc_fetch_array($result_staff))) { echo ("<p>".utf8_encode($online_staff['CharName'])." <font color='green'>Online</font></p>"); } ?>
Возможно приходит нулевой/пустой результат из базы. Попробуйте поставить проверку, например так: Код (Text): if($result_staff = odbc_exec($dbConn,$query_staff)) while($online_staff = odbc_fetch_array($result_staff))) ...
Работа ведется с MSSQL через ODBC. Вы никогда не получите описание ошибки от мелкомягких. Вам просто придет сообщение (в лучшем случае!!) что произошла ошибка. В данном случае пустой результат запроса не есть ошибка, а вот в указанной строке в odbc_exec($dbConn,$query_staff) вообще не известно что придет. Вот "неожиданный while " и выскакивает. Как вариант . К тому же в SQL, даже таком извращенном как MSSQL отсутсвует директива while ... Я не прав? PS Кроме того, проверять на отсутсвие результата есть неплохой стиль программирования
Была лишняя скобка в Код (Text): odbc_fetch_array($result_staff))) а должно быть так odbc_fetch_array($result_staff)) и поменять скобку c { на }