Пропадают данные

simpex

Новичок
Пропадают данные

нашел в инете класс и юзаю его для работы с базой данных
извиняюсь сразу если кого кодом грузану


PHP:
class db {
 
 
    var $conn;
	var $last_query;
	var $connections;

 
    function db($host, $user, $password, $database,$usepconnect) {
					static $connections;
		if ($usepconnect)
      {
        $this->conn = mysql_pconnect ($host, $user, $password);
      }else{
	  
	  $str = $host . '.' . $user . '.' . $database;
        if ($connections[$str])
        {
          $this->conn = $connections[$str];
        }
        else
        {
          $this->conn = mysql_connect ($host, $user, $password, true) or die("Could not connect: " . mysql_error());
          $connections[$str] = $this->conn;
        }
	  
	  }

 
        if (false === $this->conn) {
            return false;
        }
        if (false === mysql_select_db($database)) {
		
            return false;
        }
mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'",$this->conn);

 

        return true;
    }


function query($sql){
global  $_CONF;
 
$last_query=$sql;
    $res = mysql_query ($sql, $this->conn);
      if ($res === false)
      {
        $msg = mysql_errno ($this->conn) . ': ' . mysql_error ($this->conn);
		
	 
      }

      return $res;


 function num_rows (&$result)
    {
      return @mysql_num_rows ($result);
    }

 function fetch (&$result)
    {
     
      return @mysql_fetch_array ($result);
    }
function result (&$result, $row = 0, $col = 0)
    {
      return @mysql_result ($result, $row, $col);
    }


	}

поидогу делаю вызов такой

$res_modules = $db->query("SELECT count(*) AS count FROM forum_topic WHERE www_forum_topic.gid ='1' ");
$count_all= $db->result($res_modules, 0, "count");

- типа поличество всех тем

потом сами темы

$sql="SELECT www_forum_topic.id AS ID,www_forum_topic.gid AS id,www_forum_forum.name AS fname, www_forum_topic.name AS topicname, www_user.name AS username, www_forum_topic.uid AS uid,www_forum_topic.mDate AS mDate,www_forum_topic.cDate AS cDate,www_forum_topic.pcount AS pcount FROM www_forum_topic JOIN www_user,www_forum_forum ON www_user.id = www_forum_topic.m_id and www_forum_topic.gid=www_forum_forum.id WHERE www_forum_topic.gid ='1' ORDER BY ".$ord." LIMIT $begin,$pn";
$res = $db->query($sql);
$count=$db->num_rows($res);

это стало быть форум примерный. код sql работает

КСТАТИ ВПРОС 2
что меньше тормозит сервер
join или

как вот здесь

'SELECT b.*, u.user_id, u.user_login FROM '.$core->tables['users_musics'].' b, '.$core->tables['users'].' u WHERE u.user_id=b.user_id ORDER BY music_added DESC LIMIT 5'



хостинг rbc

в итоге сичтема частенько выдает пустой экран вместо форума
нажимаешь обновить окно, все выводится

при этом первый запрос числа записей проходит.
т.е система пишет что показано 10 записей
а дальше пустота

незнаю куда
даже копать

класс то рабочий?
может модернизировать как то?
 

simpex

Новичок
$msg = mysql_errno ($this->conn) . ': ' . mysql_error ($this->conn);

if (!$handle2 = fopen("erroorr.log", 'a')) { }
if (fwrite($handle2, "ошибка".$msg) === FALSE) { }
fclose($handle2);

вот такую хрень для проверки написал

но чего-то она не реагирует на ошибки

а с join что делать? какой вариант лучше?
 

Фанат

oncle terrible
Команда форума
И где ты это написал?
И почему только это? Ты в состоянии прочитать один экран текста и сделать то, что там написано?
 

Pigmeich

Новичок
simpex
По вашему совету обратиться к специалистам: позвал шамана с бубном. Он потанцевал с полчаса, но дождь так и не пошел.

КСТАТИ ВПРОС 2
что меньше тормозит сервер
join или
Выполни запрос в консоли сервера СУБД. MySQL в конце выводит размер выборки и время выполнения.
 

simpex

Новичок
>>И где ты это написал?
>>И почему только это? Ты в состоянии прочитать один экран текста и сделать то, что там написано?


данную штуку я прописал в классе, в функции query

по поводу вывода ошибок php, все у меня выводится
и ни единой ошибки не показывается.
Не надо считать меня совсем новичком.
Если бы все было так просто, я бы не парил здесь никому мозг


написал в суппорт хостинга, ответили что одновременно можно только 50 запросов к базе данных, возможно просто под нагрузкой этот лимит выбирается

каждая страница генерится 5 и больше запросами
 

Pigmeich

Новичок
написал в суппорт хостинга, ответили что одновременно можно только 50 запросов к базе данных, возможно просто под нагрузкой этот лимит выбирается
Тогда бы ошибка в подключении или в запросе была бы.
 

Beavis

Banned
понаставил собак и утверждает что всё выводится...
плохо это не когда человек что-то не знает, а когда только думает что знает
 

simpex

Новичок
если не сложно прошу конкретизировать утрать все собаки, или только из какой-то функции?

в таком виде класс действительно работает 10000 страничек в день держит
 

Gas

может по одной?
все собаки.
а чего этому классу не держать то, он же ничего сам не делает.
 

StUV

Rotaredom
simpex
собак в коде вообще быть не должно
а в таком - тем более

-~{}~ 25.01.08 14:57:

зы:
если не сложно прошу конкретизировать утрать все собаки, или только из какой-то функции?
"что - все ТРИ ?!?!?" ;)
 

simpex

Новичок
ну да, работает =)
только пустые страницы вместо форума достали =)
 

simpex

Новичок
убрал все собаки и теперь система иной раз пишет

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in www/class.php on line 200


на этой строчке

висит функция

function fetch (&$result)
{

return mysql_fetch_array ($result);
}


и куда же теперь копать?
 

Фанат

oncle terrible
Команда форума
наконец-то. на второй день родил.
simpex ты печатный текст размером в экран вообще не воспринимаешь? тебя так и надо, как сейчас - последовательно тыкать носом в каждую строчку текста, на который тебе дали ссылку два дня назад?
 
Сверху