为什么我的有效PDO连接无法启动?

时间:2016-01-27 05:22:04

标签: php pdo

我一直使用mysql_ *函数或mysqli对象,所以这是我的

首先在PDO上运行。

我目前使用的文件是:

<?
 echo __FILE__;
?>
<?

    $json='{"servername":"********","username":"**********","password":"********","database":"*********"}';
    $json=json_decode($json);


    $testConn= new mysqli($json->servername, $json->username, $json->password, $json->database);

    var_dump(mysqli_fetch_assoc($testConn->query("SELECT * FROM ssd")));


    $dsn= "mysql: host=$json->servername; dbname=$json->database";

    try{
      $conn= new PDO($dsn, $json->username, $json->password);
    }catch(PDOException $e){die('loginApi::Invalid server::failure');}
    ?>

创建mysqli对象没有问题,你可以看到

Here: http://streamlinedesign.ml/cms.php

但是PDO对象不断抛出异常。尽管我已经完全按照PHP手册的说明设置了dsn,但我似乎无法找到问题

1 个答案:

答案 0 :(得分:0)

我重建try / catch块进行检查。如果有任何错误消息,请使用并告诉我。

$dsn= "mysql:host=" . $json->servername . ";dbname=" . $json->database;

try{
  $conn= new PDO($dsn, $json->username, $json->password);
  foreach($conn->query('SELECT * FROM ssd') as $row) {
    print_r($row);
  }
  $conn = null;
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}

如果您获得解决方案,请删除foreach