Я что-то упускаю из-за использования PDO PHP? - PullRequest
0 голосов
/ 18 мая 2011

Вот простой фрагмент кода, который я пишу:

class LessonsLearntServiceTyped
{
    private $username = "***********";
    private $password = "***********";
    private $dsn      = "mysql:dbname=lessonslearnt;host=****
******.db.******.hostedresource.com";
    private $dbh;


    public function __construct(){
        try{
            $dbh = new PDO($this->dsn, $this->username, $this->password);

        }catch(PDOException $e){
            echo "Connection failed: ".$e->getMessage();
        }
    }



     public function returnAllEntries(){
        $query = "select * from lessons_learnt order by id";

    }

}

ОК.У меня не было большого опыта работы с PDO, но я видел несколько примеров в сети, и, очевидно, вы не можете сериализовать или десериализовать объект PDO (это сообщение об ошибке, которое я получаю, когда пытаюсь установить объект PDO).к переменной экземпляра, чтобы я мог использовать ее позже)

Что ж, если у нас не может быть объектов PDO в качестве переменных экземпляра, как тогда я перейду к написанию метода returnAllEntries()?Придется ли мне снова создавать объект PDO, чтобы я мог использовать его там ?? (а также новый объект PDO для каждой функции, которую я пишу для работы с базой данных)?

Что мне здесь не хватает?

Спасибо всем заранее

РЕДАКТИРОВАТЬ

$this->dbh = new PDO($this->dsn, $this->username, $this->password); - это то, что я хотел сделать.

Но , когда я это делаю, я получаю следующее сообщение об ошибке: note это сообщение об ошибке приходит из консоли PHPUnit , которую я используюнастроить этот класс.В браузере не отображаются ошибки.

"" Вы не можете сериализовать или десериализовать экземпляры PDO "

Ответы [ 2 ]

1 голос
/ 18 мая 2011

Похоже, что это очень очень странный крайний случай с исключениями из чтения этого:

http://fabien.potencier.org/article/9/php-serialization-stack-traces-and-exceptions

Попробуйте извлечь $e->getMessage() строковый бит в вашем операторе catch и посмотрите, изменит ли он что-либо.

0 голосов
/ 21 мая 2011

Я думаю, что проблема была в моем экземпляре PHPUnit Runner.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...