连接到mysql db

时间:2016-01-08 00:53:14

标签: php mysql pdo

我想使用PDO连接到我的数据库,但我不能。 我已经测试了另一个托管中的连接并且没有问题但是我已经改变了托管,我将参数更改为连接但是它没有工作

我使用的.ini文件包含连接到我的数据库的数据。 这样的事情:

[database]
username = ....
password = *******
dbname = dbname...
driver = mysql
host = example.net


<?php
class Conexion extends PDO {
    private $driver;
    private $host;
    private $nombre_bd;
    private $usuario;
    private $password;

    public function __construct() {
        $config = parse_ini_file('../admin/cfg/config_pdo.ini');

        $this->usuario = $config['username'];
        $this->password = $config['password'];
        $this->nombre_bd = $config['dbname'];
        $this->driver = $config['driver'];
        $this->host = $config['host'];

        try {
            parent::__construct($this->driver.':host='.$this->host.';dbname='.$this->nombre_bd,$this->usuario,$this->password);

        } catch (PDOException $e) {
            echo 'Ha surgido un error al conectarse a la base de datos. ' . '</br>' . 'Detalle: ' . $e->getMessage();
            exit;
        }
    }
}

结果是&#34;找不到驱动程序&#34; 我检查了是否在php文件中使用info()启用了pdo,一切都正确。

非常感谢,最好的问候

2 个答案:

答案 0 :(得分:0)

$this->driver.':host='.$this->host.';dbname='.
driver.' :host

之后

你有&#34; :&#34;

但在host.';之后

你有&#34; ;&#34;

检查它是否应该是&#34; :&#34;或&#34; ;&#34;

答案 1 :(得分:0)

我认为问题是托管网络。 我使用mysqli创建了一个新连接,结果是: 错误:没有se pudo conectar MySQL。错误消息:2005年错误消息:未知的MySQL服务器主机'mysql55.servidoraweb.net'(0)

<?php
$enlace = mysqli_connect("host", "user", "pass", "db");

if (!$enlace) {
    echo "Error: No se pudo conectar a MySQL." . PHP_EOL;
    echo "errno de depuración: " . mysqli_connect_errno() . PHP_EOL;
    echo "error de depuración: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

echo "Éxito: Se realizó una conexión apropiada a MySQL! La base de datos mi_bd es genial." . PHP_EOL;
echo "Información del host: " . mysqli_get_host_info($enlace) . PHP_EOL;

mysqli_close($enlace);
?>
你怎么看? 谢谢