简体   繁体   English

连接数据库时PDO / PHP代码错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM