Смещение 0 недействительно для индекса результата MySQL 64 (или данные запроса не загружены)

Я работаю с php и mysql, и вдруг получаю

mysql_data_seek () [function.mysql-data-seek]: смещение 0 недействительно для индекса результата MySQL 64 (или данные запроса не загружены)

Что это значит.

Я не знаю, с чего начать отлаживать этот.


Этот класс передается ресурсом mysql в его конструктор

class dbResult { private $result; private $num_rows; function __construct($result) { $this->result = $result; } function result($type = 'object') { @mysql_data_seek($this->result, 0); if ($type == 'array') return mysql_fetch_assoc($this->result); if ($type == 'object') { if ($this->num_rows() == 1) { $data = new stdClass(); foreach (mysql_fetch_assoc($this->result) as $k => $v) $data->$k = $v; return $data; } if ($this->num_rows() > 1) { $data = array(); while ($result = mysql_fetch_assoc($this->result)) { $row = new stdClass(); foreach ($result as $k => $v) $row->$k = $v; $data[] = $row; } return $data; } return false; } } function num_rows() { return mysql_num_rows($this->result); } function num_fields() { return mysql_num_fields($this->result); } } 

Solutions Collecting From Web of "Смещение 0 недействительно для индекса результата MySQL 64 (или данные запроса не загружены)"

если результирующий набор пуст, mysql_data_seek() завершится с E_WARNING . Я думаю, что это происходит в вашем случае, потому что вы не проверяете, является ли набор результатов пустым или нет, прежде чем вызывать mysql_data_seek() .

Всегда проверяйте результат на количество строк, если они> = 1, тогда вы можете вызвать mysql_data_seek()