Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Не работает query в php5


Автор: eretic198505 4.12.2009, 16:48
Не работает query в php, пишу вот такую вот конструкцию и она не работает   self::$db->query($query); таблица ест ьс полями ,если через мускул делать запрос все проходит,в чем может быть трабла? smile 

Автор: capitan 4.12.2009, 16:59
eretic198505, Что значит не работает? Какую ошибку выдает?

Автор: eretic198505 4.12.2009, 17:04
да никакой не выдает , в том то и проблемма, просто не работает сама функция query от класса PDO, ручками делал этот запрос ,все работает, да просто когда делаю query запроса выдает false запрос на бд проверял работает

Добавлено через 6 минут и 3 секунды
Call to undefined function query()  это вообще как?

Автор: Simpliest 4.12.2009, 17:13
Цитата(eretic198505 @  4.12.2009,  16:04 Найти цитируемый пост)
сама функция query от класса PDO

Цитата(eretic198505 @  4.12.2009,  15:48 Найти цитируемый пост)
self::$db->query($query); 

self - это ссылка класса на самого себя.
каким чудом ты попал в исходники PDO и добавил эту строчку?

Автор: eretic198505 4.12.2009, 17:16
че то не вьехал, ты хочешь сказать ,что селф надо убрать? ??? все дело в том? что у меня есть методы для работы с бд , косяк в том, что не работает сам метод query ()  ни в какую, я пишу в ООП в пхп  и мне очень нужен метод query

Добавлено @ 17:17
Код

private function __construct(){
        try { 
                    $db_connect = new PDO(self::$db_type . ':host=' . self::$db_host . ';dbname=' . self::$db_name, self::$db_user, self::$db_pwd, self::$db_attr);
               $db_connect->query("SET NAMES utf8;");
               print(query("SET NAMES utf8;")); die();
        } catch (PDOException $e) {
            print "DB connect error: " . $e->getMessage() . "<br/>";
            exit;
        }

вот какимsmile))

Добавлено @ 17:18
Цитата(Simpliest @ 4.12.2009,  17:13)
Цитата(eretic198505 @  4.12.2009,  16:04 Найти цитируемый пост)
сама функция query от класса PDO

Цитата(eretic198505 @  4.12.2009,  15:48 Найти цитируемый пост)
self::$db->query($query); 

self - это ссылка класса на самого себя.
каким чудом ты попал в исходники PDO и добавил эту строчку?



Код

 private function __construct(){
        try { 
                    $db_connect = new PDO(self::$db_type . ':host=' . self::$db_host . ';dbname=' . self::$db_name, self::$db_user, self::$db_pwd, self::$db_attr);
            $db_connect->query("SET NAMES utf8;");
        } catch (PDOException $e) {
            print "DB connect error: " . $e->getMessage() . "<br/>";
            exit;
        } 


точнее вот так вотsmile

 
Код

private function __construct(){
        try { 
                    $db_connect = new PDO(self::$db_type . ':host=' . self::$db_host . ';dbname=' . self::$db_name, self::$db_user, self::$db_pwd, self::$db_attr);
            $db_connect->query("SET NAMES utf8;");
        } catch (PDOException $e) {
            print "DB connect error: " . $e->getMessage() . "<br/>";
            exit;
        } 


точнее вот так вотsmile

Автор: Simpliest 4.12.2009, 17:20
Цитата(eretic198505 @  4.12.2009,  16:16 Найти цитируемый пост)
все дело в том? что у меня есть методы для работы с бд , косяк в том, что не работает сам метод query ()  ни в какую, я пишу в ООП в пхп  и мне очень нужен метод query

Все дело в том, что в "твоем" классе этого метода нет.

Автор: eretic198505 4.12.2009, 17:22
Цитата(Simpliest @ 4.12.2009,  17:20)
Цитата(eretic198505 @  4.12.2009,  16:16 Найти цитируемый пост)
все дело в том? что у меня есть методы для работы с бд , косяк в том, что не работает сам метод query ()  ни в какую, я пишу в ООП в пхп  и мне очень нужен метод query

Все дело в том, что в "твоем" классе этого метода нет.

т.е. мне его надо получается переопределять? так?

Добавлено через 2 минуты и 3 секунды
Цитата(Simpliest @ 4.12.2009,  17:20)
Цитата(eretic198505 @  4.12.2009,  16:16 Найти цитируемый пост)
все дело в том? что у меня есть методы для работы с бд , косяк в том, что не работает сам метод query ()  ни в какую, я пишу в ООП в пхп  и мне очень нужен метод query

Все дело в том, что в "твоем" классе этого метода нет.

 $db_connect = new PDO(self::$db_type . ':host=' . self::$db_host . ';dbname=' . self::$db_name, self::$db_user, self::$db_pwd, self::$db_attr);
                    $db_connect->query("SET NAMES utf8;");

че6 то не понял, ну вот в этой строчке я создаю объект от класса PDO ,в кготором есть метод query и что мне его просто переопределить так что ли?

Автор: capitan 4.12.2009, 17:32
eretic198505, что не совсем понятно что Вы пытаетесь сделать.
http://www.php.net/manual/en/book.pdo.php  тут читали?

сначала создаете класс для подключения к базе
Код

<?php

class DB { 
....
}


а дальше уже юзаете 
Код

DB::$db->query($query);

Автор: Simpliest 4.12.2009, 17:58
Цитата(eretic198505 @  4.12.2009,  16:22 Найти цитируемый пост)
т.е. мне его надо получается переопределять? так?

Если его нет - переопределить не получиться. Можно только определить.

Вот если ты бы наследовался от PDO, то этот метод у тебя бы был.

Автор: eretic198505 9.12.2009, 10:34
Цитата(Simpliest @ 4.12.2009,  17:58)
Цитата(eretic198505 @  4.12.2009,  16:22 Найти цитируемый пост)
т.е. мне его надо получается переопределять? так?

Если его нет - переопределить не получиться. Можно только определить.

Вот если ты бы наследовался от PDO, то этот метод у тебя бы был.

ну не знаю ...как эт овсе объянсить, но переустановили винду и все заработало

Автор: lelik133 9.12.2009, 12:24
винда была виновата в вызове несуществующего метода, мда... жесть

Автор: MoLeX 9.12.2009, 13:29
eretic198505, ну помиму винды вы же еще и сервер переустнавливали

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)