所以我已经运行了此代码,用于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
答案 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';
(附:)