使用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());
的结果array(2){[0] => string(5)“mysql”[1] => string(6)“sqlite”}
Apache error.log的结果
PHP致命错误:在第33行的/path/to/file.php中调用未定义的函数PDO()
答案 0 :(得分:2)
您错过了“新”关键字。
$Connection = new PDO(......)
确保启用error_reporting以捕获更多错误。
答案 1 :(得分:2)
将new
用于PDO class
$Connection = new PDO("mysql:host=localhost;dbname=my_database;charset=UTF-8", "username", "passwd");
答案 2 :(得分:1)
PDO是最好的路线吗?或者我应该研究一下MySQLi吗?
Mysqli非常类似于mysql,所以,它可能更熟悉 唯一不同的是连接资源应该总是传递给任何mysqli函数,不像mysql,它是可选的。
答案 3 :(得分:0)
charset=UTF-8
charset=utf8
是的,请使用PDO(我的意见)。
另外:启用error reporting,以便在收到错误时获得一些反馈,并了解如何举报PDO errors。
编辑:另请参阅how to handle PDO errors as exceptions,正如您所期待的那样。