连接到数据库时PDO/PHP代码出错
我试图使用PHP和PDO来创建和连接我已经创建的MySQL数据库。除了我不断地给我这个错误外,一切都很正常: 连接失败:PDO::_构造():SQLSTATE[HY000]:常规错误:错误模式无效 有人能告诉我这个错误是什么意思吗。谢谢 编辑:这是代码草案 这是connection.php连接到数据库时PDO/PHP代码出错,php,mysql,database,pdo,Php,Mysql,Database,Pdo,我试图使用PHP和PDO来创建和连接我已经创建的MySQL数据库。除了我不断地给我这个错误外,一切都很正常: 连接失败:PDO::_构造():SQLSTATE[HY000]:常规错误:错误模式无效 有人能告诉我这个错误是什么意思吗。谢谢 编辑:这是代码草案 这是connection.php <?php class Config { public function Con() { $config = new Config(); } } class Co
<?php
class Config
{
public function Con()
{
$config = new Config();
}
}
class Connection
{
protected $db = null;
public function Open()
{
try {
$dsn = "mysql:dbname=cashgroup;
host=localhost";
$user = "root";
$password = "newpassword";
$options = array(PDO::ATTR_ERRMODE =>
PDO::ATTR_DEFAULT_FETCH_MODE
);
$this -> db = new PDO($dsn, $user, $password, $options);
return $this -> db;
} catch (PDOException $e) {
echo 'Connection failed:' . $e ->getMessage();
}
}
public function Closed()
{
$this -> db = null;
return true;
}
}
?>
这是include.php
<?php
include 'connection.php';
try {
$conec = new Connection();
$con = $conec -> Open();
if ($con) {
echo 'connected';
$sql = "INSERT INTO `clients`(`name`, `email`) VALUES (`FakeName`, `fakeemail@gmail.com`)";
$re = $con -> query($sql);
} else {
echo $con;
}
}
catch (PDOException $ex) {
echo $ex -> getMessage();
}
?>
您把这里的属性搞乱了:
$options = array(PDO::ATTR_ERRMODE =>
PDO::ATTR_DEFAULT_FETCH_MODE
);
它们应该是这样的:
$options = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
);
或任何其他有效值。请共享生成错误的代码草案,以了解您试图执行的操作。