1

经过长时间的使用,mysql我终于决定将所有东西迁移到PDO,因为以前的东西正在贬值。

我首先查看了一些关于使用 PDO 的教程,从一开始我就遇到了问题......

我在跑步:

Apache (v2.2.22)
MySQL (v5.5.28)
PHP5

我在 PHP 中使用以下代码块:

try{
    echo "PDO Connecting";
    $Connection = PDO("mysql:host=localhost;dbname=my_database;charset=UTF-8", "username", "passwd");
    echo "Connected";
}catch(PDOException $ex){
    echo "Error!";
}

我的问题是我看到了消息PDO Connecting,然后什么也没有……没有连接消息,也没有错误消息……关于问题是什么以及如何解决它的任何想法?

PDO是最好的路线吗?或者我应该研究 MySQLi 吗?

编辑

结果来自 var_dump(PDO::getAvailableDrivers());

数组(2){[0]=>字符串(5)“mysql”[1]=>字符串(6)“sqlite”}

Apache error.log 的结果

PHP 致命错误:在第 33 行的 /path/to/file.php 中调用未定义函数 PDO()

4

4 回答 4

2

您错过了“新”关键字。

    $Connection = new PDO(......)

确保打开 error_reporting 以捕获更多错误。

于 2013-01-03T06:36:31.397 回答
2

用于new_PDO class

$Connection = new PDO("mysql:host=localhost;dbname=my_database;charset=UTF-8", "username", "passwd");
于 2013-01-03T06:37:18.203 回答
1

PDO是最好的路线吗?或者我应该研究 MySQLi 吗?

mysqli 非常类似于 mysql,因此,它可能更熟悉。
唯一不同的是连接资源应该总是传递给任何 mysqli 函数,不像 mysql,它是可选的。

于 2013-01-03T06:39:20.660 回答
0
charset=UTF-8

应该是

charset=utf8

是的,选择 PDO(我的观点)。

另外:打开错误报告,以便在遇到错误时获得一些反馈,并了解如何报告PDO 错误

编辑:另外,请参阅如何将 PDO 错误作为异常处理,正如您所期望的那样。

于 2013-01-03T06:33:12.070 回答