[英]Error in PDO/PHP code when connecting to database
I am trying to use PHP and PDO in order to create and connect to the MySQL database I have already created. 我试图使用PHP和PDO来创建并连接到已经创建的MySQL数据库。 Everything is working fine except that I keeps giving me this error: 一切工作正常,除了我一直给我这个错误:
Connection failed:PDO::__construct(): SQLSTATE[HY000]: General error: invalid error mode 连接失败:PDO :: __ construct():SQLSTATE [HY000]:常规错误:无效错误模式
Can someone please tell me what this error means. 有人可以告诉我这个错误是什么意思。 Thanks. 谢谢。
EDIT: Here is the draft code. 编辑:这是草稿代码。
This is connection.php 这是connection.php
<?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;
}
}
?>
and this is include.php 这是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();
}
?>
You've messed up the attributes here: 您在这里弄乱了属性:
$options = array(PDO::ATTR_ERRMODE =>
PDO::ATTR_DEFAULT_FETCH_MODE
);
They should be something like this: 它们应该是这样的:
$options = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
);
Or any other valid values. 或任何其他有效值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.