【问题标题】:i will try to connect database using pdo in codeigniter我将尝试在 codeigniter 中使用 pdo 连接数据库
【发布时间】:2017-02-14 11:58:52
【问题描述】:
$db['default']['hostname'] ='mysql:host=myhostname;dbname=test;' ; 
$db['default']['username'] ='root';
$db['default']['password'] ='';        
$db['default']['database'] ='test';
$db['default']['dbdriver'] ='pdo';

消息:PDO::__construct(): php_network_getaddresses: getaddrinfo failed: No such host is known.

【问题讨论】:

  • 如何尝试格式化您的代码。
  • @hasnain replace host=myhostname; with host='localhost';
  • 我已经做了,但还是不行
  • 试试 127.0.0.1 作为主机名?
  • @spudmonkee 为什么不将您的评论添加为答案,以便可以标记此线程并从未回答的队列中移动。

标签: php mysql codeigniter pdo


【解决方案1】:
<?php
$hostname='localhost';
$username='root';
$password='';

try {
    $dbh = new PDO("mysql:host=$hostname;dbname=stickercollections",$username,$password);

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
// <== add this line
echo 'Connected to Database<br/>';

$sql = "SELECT * FROM stickercollections";
foreach ($dbh->query($sql) as $row)
{
    echo $row["collection_brand"] ." - ". $row["collection_year"] ."<br/>";
}


$dbh = null;
}
catch(PDOException $e)
{
    echo $e->getMessage();
}
?> 

【讨论】:

    【解决方案2】:

    使用127.0.0.1 作为您的主机名。

    【讨论】:

      【解决方案3】:

      你的第一行就错了....

      $db['default']['hostname'] ='mysql:host=myhostname;dbname=test;' ;

      ['hostname'] 只是 'myhostname'

      您需要的字段是 $db['default']['dsn'] = 'mysql:host=myhostname;dbname=test'

      不;此处将连接以下选项。

      【讨论】:

        猜你喜欢
        • 2015-01-07
        • 1970-01-01
        • 1970-01-01
        • 2016-06-21
        • 1970-01-01
        • 2017-03-30
        • 1970-01-01
        • 2011-05-20
        • 1970-01-01
        相关资源
        最近更新 更多