无效的数据源名称 - PDO

时间:2017-08-21 12:53:08

标签: php mysql pdo

所以我已经运行了此代码,用于PDO连接到我的数据库。 在过去的几个小时里,我收到一个名为" 无效的数据源名称"的奇怪错误。

我搜索了不少但我没有得到任何解决方案。可能是什么原因?

连接代码

<?php
$connectionString = 'mysqlhost=127.0.0.1;dbname=cdm';
try
{
$conn = new PDO($connectionString, 'root', 'PASS1234');
$conn->setAttribute(PDOATTR_ERRMODE, PDOERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
echo $e->getMessage();
}

var_dump($conn);
?>

输出

invalid data source nameNULL

3 个答案:

答案 0 :(得分:4)

您的整个代码完全错误。

首先修复:

$connectionString = 'mysqlhost=127.0.0.1;dbname=cdm';$connectionString = 'mysql:host=127.0.0.1;dbname=dgsa';

然后更改以下内容:

$conn->setAttribute(PDOATTR_ERRMODE, PDOERRMODE_EXCEPTION);

致:

$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

完整正确的代码:

<?php
$connectionString = 'mysql:host=127.0.0.1;dbname=dgsa';
try
{
$conn = new PDO($connectionString, 'root', 'PASS1234');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
echo $e->getMessage();
}

var_dump($conn);
?>

答案 1 :(得分:3)

我认为您需要将变量更改为:

$connectionString = 'mysql:host=127.0.0.1;dbname=cdm';

答案 2 :(得分:0)

我认为这只是一个错字

$connectionString = 'mysqlhost=127.0.0.1;dbname=cdm';

应该是

$connectionString = 'mysql:host=127.0.0.1;dbname=cdm';(附:)