Сообщение: синтаксическая ошибка, неожиданное '(', ожидаемый идентификатор (T_STRING) или переменная (T_VARIABLE) или '{' или '$' - PullRequest
0 голосов

Следующее не работает и выдает исключение.

leaderboard_mode.php

<?php

class Leaderboard_model extends CI_Model {

    function __construct()
    {
        parent::__construct();
    }

    public function get_by_role()
    {
        $query = $this->db->query->("SELECT b. * FROM (SELECT a. *, @rank := @rank + 1 rank FROM (SELECT MAX(score) AS max_score, user_id FROM highscore WHERE game_mode="bungkata" GROUP BY user_id ORDER BY max_score DESC)a, (SELECT @rank := 0)r)b LIMIT 10");
        return $query->result();
    }
}

Это исключение:

Обнаружено неперехваченное исключение

Тип: ParseError

Сообщение: синтаксическая ошибка, неожиданное '(', ожидаемый идентификатор (T_STRING) или переменная (T_VARIABLE) или '{' или '$'

Имя файла: C: \ wamp \ www \ leaderboard \ application \ models \ Leaderboard_model.php

Номер строки: 12

Backtrace:

Файл: C: \ wamp \ www \ leaderboard \ application \ controllers \ Leaderboard.php
Линия: 9
Функция: модель

Файл: C: \ wamp \ www \ leaderboard \ index.php
Линия: 315
Функция: require_once

Ответы [ 3 ]

0 голосов
/ 04 мая 2019

изменить этот запрос $query = $this->db->query-> на $query = $this->db->query("your sql query")

public function get_by_role()
{
    $query = $this->db->query->("SELECT b. * FROM (SELECT a. *, @rank := @rank + 1 rank FROM (SELECT MAX(score) AS max_score, user_id FROM highscore WHERE game_mode="bungkata" GROUP BY user_id ORDER BY max_score DESC)a, (SELECT @rank := 0)r)b LIMIT 10");
    return $query->result();
}
0 голосов

leaderboard_model.php

<?php
 
class Leaderboard_model extends CI_Model {

	function __construct()
    {
        parent::__construct();
    }

    public function get_by_role()
  	{
	    $query = $this->db->query("SELECT b. * FROM (SELECT a. *, @rank := @rank + 1 rank FROM (SELECT MAX(score) AS max_score, user_id FROM highscore WHERE game_mode=bungkata GROUP BY user_id ORDER BY max_score DESC)a, (SELECT @rank := 0)r)b LIMIT 10");
	    return $query->result();
  	}
}

контроллер: leaderboard.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Leaderboard extends CI_Controller {

	function __construct()
	{
		parent::__construct();
		$this->load->model(array('Leaderboard_model'));
	}
	
	public function index(){
		$data['datarank'] = $this->leaderboard_model->get_by_role();
    	$this->load->view('content_home', $data);
	}

}

мои взгляды: content_home.php

<div id="main-description" class="col-md-6">
   <div class="heading text-center">
      <h1 class="text-white wow fadeInLeft"><strong>LEADERBOARD</strong></h1>
   </div>
   <div class="table-responsive text-white wow fadeInLeft">
   <table id="authusertable" class="table table-bordered table-striped table-hover">
       	<thead>
	<tr>
	    <th>Peringkat</th>
	    <th>Nama</th>
	    <th>Point</th>
	</tr>
	</thead>
	<tbody>
	<?php
	  $no = 0;
	  foreach ($datarank as $row):
          $no++ ?>
	<tr>
	     <td><?=$no?>
             <td><?=$row->user_id?></td>
             <td><?=$row->max_score?></td>
        </tr>
        <?php endforeach; ?>
        </tbody>
        <tfoot>
        </tfoot>
    </table>
  </div>
</div>									

изображение

0 голосов
/ 04 мая 2019

Вам просто нужно удалить -> из query->, например $this->db->query() Пожалуйста, см. Ниже обновленный код

public function get_by_role()
    {
        $query = $this->db->query("SELECT b. * FROM (SELECT a. *, @rank := @rank + 1 rank FROM (SELECT MAX(score) AS max_score, user_id FROM highscore WHERE game_mode='bungkata' GROUP BY user_id ORDER BY max_score DESC)a, (SELECT @rank := 0)r)b LIMIT 10");
        return $query->result();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...