我已经很多年没有使用 PHP 进行任何开发了。
使用 PDO 连接到 MySQL 的概念对我来说是全新的,而且我似乎无法让它工作。
使用 MySQLi 和以下代码(我知道已弃用)可以很好地工作:
<?php
include 'models/db_details.php';
$db_connection = mysql_pconnect("$dbhost", "$dbusername", "$dbpasswd") or die("Couldn't connect to server: " . mysql_error());
$db = mysql_select_db("$dbname", $db_connection) or die("Couldn't select database.");
?>
<h1>After connecting to the DB</h1>
正如预期的那样,这显示:
After connecting to the DB
从我读过的所有页面来看,使用 PDO,这应该类似于:
<?php
include 'models/db_details.php';
try
{
$conn = new PD0("mysql:host=$dbhost;dbname=$dbname;charset=utf8", $dbusername, $dbpasswd);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
?>
<h1>After connecting to the DB</h1>
结果是一个完全空白的页面。
所有这些都在 FreeBSD 机器上,运行:
Apache /2.4.25
PHP/5.6.30
MySQL 5.6.35
我在 php.ini 中取消注释了 extension=php_pdo_mysql.dll。
我错过了什么?
最佳答案
检查字体。确保它是 pdo 而不是 pd0(零)。
在那之后奇迹就发生了。
关于PHP PDO 连接失败但没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43422936/