[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема 2 раза визываеться метод в ООП
Страницы: 1, 2
Markus111
Подскажите как

_____________
Womans in your town
vsemykin
из интересующей функции вызвать debug_print_backtrace(), будет выдан стек вызовов
Markus111
мне выдало такую строку
#0 Registry->cat() called at [C:\xampp\htdocs\prosmotr\index.php:49]
как я понял вызвало одну функцию, а число увеличилось на 2

_____________
Womans in your town
vsemykin
Тогда имеет смысл внимательно изучить исходники на лишний update, и БД на наличие всяких триггеров.
Markus111
исходник вот
<?php 
final class
db{
private static $instance = NULL;
private function __construct() {
/*** maybe set the db name here later ***/
}
public static function getInstance() {

if (!self::$instance)
{
self::$instance = new PDO("mysql:host=localhost;dbname=sec", 'root', '',array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
PDO::ATTR_PERSISTENT => false,
PDO::ERRMODE_WARNING => true,
PDO::ATTR_ERRMODE => true
));
}
return self::$instance;
}

private function __clone(){
}
}

class Registry{

public function cat(){
$db=db::getInstance();

$result1="UPDATE irbis_guest SET p=`p`+1 where id='1' ";
$snm1=$db->query($result1);



$result2 = "SELECT p from irbis_guest where id='1'";
//$snm1=$db->query($result1);
$snm2=$db->prepare($result2);
$snm2->execute();
$myrow2=$snm2->fetch(PDO::FETCH_ASSOC);
echo $myrow2['p'];
debug_print_backtrace();
}
}





$registry = new Registry;
$registry->cat();



?>


БД вот
-- phpMyAdmin SQL Dump
-- version 3.4.5
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Дек 28 2012 г., 18:18
-- Версия сервера: 5.5.16
-- Версия PHP: 5.3.8

SET SQL_MODE=
"NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "
+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- База данных: `sec`
--

-- --------------------------------------------------------

--
-- Структура таблицы `irbis_guest`
--

CREATE TABLE IF NOT EXISTS `irbis_guest` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`name` varchar(30) NOT NULL,
`text` text NOT NULL,
`p` int(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

--
-- Дамп данных таблицы `irbis_guest`
--

INSERT INTO `irbis_guest` (`id`, `date`, `name`, `text`, `p`) VALUES
(1, '2012-12-28 14:28:50', 'Ваша тетя', 'Здравствуйте, не ждали?', 421),
(2, '2009-12-31 22:00:02', 'Дядя', 'А мы приперлись', 0);

-- --------------------------------------------------------

--
-- Структура таблицы `irbis_news`
--

CREATE TABLE IF NOT EXISTS `irbis_news` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`subtitle` varchar(250) DEFAULT NULL,
`text` text,
`img` varchar(100) NOT NULL,
`public` int(1) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `public` (`public`,`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

--
-- Дамп данных таблицы `irbis_news`
--

INSERT INTO `irbis_news` (`id`, `date`, `subtitle`, `text`, `img`, `public`) VALUES
(1, '2010-09-08 08:35:10', 'Первая новость', 'Внимание, внимание!\r\nГоворит Германия!\r\nНедавно под мостом поймали Гитлера с хвостом.\r\nКошка сдохла, хвост облез - кто промолвит, тот и съест.\r\n[*][list=ol]knlknlkn[/list=ol][/*]', '1283182771.png', 1);

-- --------------------------------------------------------

--
-- Структура таблицы `irbis_user`
--

CREATE TABLE IF NOT EXISTS `irbis_user` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`login` varchar(50) NOT NULL,
`password` varchar(32) NOT NULL,
`hash` varchar(32) NOT NULL,
`email` varchar(50) NOT NULL,
`activate` int(1) NOT NULL,
`name` varchar(250) NOT NULL,
`surname` varchar(250) NOT NULL,
`post` varchar(250) NOT NULL,
`contact` text NOT NULL,
`role` int(1) DEFAULT '1',
`ip` varchar(30) NOT NULL,
`sessid` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;



_____________
Womans in your town
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.