Функция-член Ряд - PullRequest
       2

Функция-член Ряд

0 голосов
/ 12 августа 2011

Я попытался запустить запрос в моем скрипте и получить это сообщение. Кто-нибудь знает, почему и как это исправить.

Неустранимая ошибка: вызов функции-члена row () для необъекта

$query_str = "SELECT MAX(userID) FROM kowmanager_users";
$this->db->query($query_str);

$row = $query->row(); 
$userID = $row->userID;

Edit:

Я нашел здесь синтаксис: http://codeigniter.com/user_guide/database/active_record.html#select

И придумал это для моих нужд, но когда я запустил скрипт, он дал мне: У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с «Объектом» в строке 1

Имя файла: /home/xtremer/public_html/kowmanager/models/user_model.php

$this->db->select_max('userID');
$query_str = $this->db->get('kowmanager_users');
$rows = $this->db->query($query_str);
$userID = $rows->userID;
$userID = $userID + 1;

Редактировать 2:

По какой-то причине обновление не запущено.

 $query_str = "INSERT INTO kowmanager_users (username, password, password2, email, firstName, lastName, accessLevelID) VALUES (?, ?, ?, ?, ?, ?, ?)";
    $this->db->query($query_str, array($username, $password[0], $password[1], $email, $firstName, $lastName, '1',));

    $id = $this->db->insert_id();

    $this->db->select_max('userID');
    $query = $this->db->get('kowmanager_users');
    $row = $query->row();
    $userID = $row->userID;
    echo $userID;
    echo "<br>";
    $userID = $userID + 1;
    echo $userID;

    $data = array('userID' => $userID);

    $where = "id = '".$id."'"; 

    $str = $this->db->update_string('kowmanager_users', $data, $where); 

Редактировать: вот мой полный код страницы: http://pastebin.com/7sJt7V09

Ответы [ 2 ]

1 голос
/ 12 августа 2011

Первое усилие должно было быть так:

$query_str = "SELECT MAX(userID) FROM kowmanager_users";
$q = $this->db->query($query_str);
$row = $q->row(); 
$userID = $row->userID;

Ваша вторая попытка должна быть такой:

$this->db->select_max('userID');
$q = $this->db->get('kowmanager_users');
$row = $q->row();
$userID = $row->userID;

Если бы вы возвращали более одного ряда, то вы бы сделали следующее:

$this->db->select('userID');
$q = $this->db->get('kowmanager_users');
$results = $q->result();
foreach($results as $row) 
{
 echo $row->userID; 
}
1 голос
/ 12 августа 2011

ПОПРОБОВАТЬ:

$row = $this->db->query->row();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...